У меня есть процедура в PLSQL, которая заполняет временную таблицу. Данные выглядит следующим образом:Oracle PLSQL записывает записи во временную таблицу
BUYER_NAME QUANTITY AMOUNT
-------------------------------
JOHN 10 1200
JOHN 12 1310
ALAN 15 1450
ALAN 10 1200
JOHN 20 2400
мне нужно подвести итог количество и суммы для каждого покупателя, а затем удалить существующие данные и заполнить таблицу еще раз таким образом, что каждое имя покупателя приходит только один раз с общим количеством и количеством ,
Я знаю, что это можно сделать, если я создам другую временную таблицу и передаю данные через нее. Тем не менее, есть способ, которым мы можем объединить записи в пределах одной временной таблицы (и в пределах того же сеанса)?
Как насчет утверждения 'MERGE'? http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm –
@a_horse_with_no_name Интересно, как в этом случае может работать оператор слияния, потому что источником данных является одна и та же таблица. –
Это нехороший способ работы. Чтобы сделать хорошую работу, я предлагаю вам заполнить глобальную временную таблицу процедурой, а затем объединить сгруппированные данные в финальную таблицу, где BUYER_NAME - уникальный столбец. –