У меня есть несколько операторов SELECT, которые создаются путем объединения нескольких таблиц. Каждый выбор возвращает одну строку, но от 10 до 20 полей этой строки. Каков самый простой способ сохранить эти данные для последующего использования?PL/SQL SELECT INTO
Я хотел бы избежать создания 50 переменных и записи выбора в операторы, используя курсоры и цикл для одной строки - не самая умная идея из того, что я читал.
Есть ли хороший способ сделать это?
Глупого примера, так что вы можете получить общую идею
SELECT t1.field1
, t1.field2
, t1.field3
, t1.field4
, t2.field5
, t2.field6
, t2.field7
, t3.field8
FROM table1 t1
JOIN table2 t2 ON something
JOIN table3 t3 ON something
Извините за ошибки в моем английском и заранее спасибо
Спасибо за ваш ответ. Я не могу создать представление, не имею привилегий в базе данных. И другое решение, которое я нашел allready, но было сказано, что предварительная работа использования цикла для одного ряда ужасна. Поэтому я надеялся, что есть лучший способ сделать это. – BeRightBack
Я не могу серьезно комментировать проблему производительности, хотя по личному опыту я ожидаю, что «ужасная» производительность в одной строке имеет тенденцию быть безвредной в среде, где большие результирующие множества запрос. Я разработал несколько приложений db с обширной кодовой базой plsql, и этот шаблон никогда не был проблемой - ymmv. – collapsar
Вы можете определить одну переменную записи в plsql, которая могла бы получить запись. Однако вам нужно будет определить тип записи со всеми его компонентами, что фактически составляет объявление отдельных переменных для столбцов. Если это жизнеспособно, посмотрите пример кода в обновленном ответе. – collapsar