#plsql
Вопрос:
Можно ли использовать SELECT INTO из двойной таблицы, как это?
SELECT * INTO myTable FROM ('val1' COLUMN1, 'val2' COLUMN2 FROM dual) dualTable
Я бы использовал это, потому что мне нужно вставить значения и вернуть их в том же операторе.
Комментарии:
1. Это возможно; просто добавьте SELECT, здесь:
... from (select 'val1 column1, ...
. С другой стороны, это зависит от того, какой у меня рабочий стол. Кроме того, я не понимаю, что вы имели в виду, говоря «нужно вставить значения» (вставить куда ?) «и вернуть их» (вернуться куда ?) «в том же заявлении». Возможно, вам лучше описать проблему , которую вы пытаетесь решить, вместо того, чтобы предлагать ответ, который, по — видимому, не сработал так, как вам хотелось бы.
Ответ №1:
На самом деле в этом нет ничего особенного, кроме простого создания двух переменных.
Ниже приведен код
SELECT 'val1' COLUMN1, 'val2' COLUMN2 INTO variable1, variable2 FROM DUAL
Что касается части вставки, я не думаю, что это возможно сделать в одном и том же заявлении. Вы всегда можете написать процедуру в конце, чтобы справиться с этим.
Комментарии:
1. «Имейте в виду, что с INTO вы не можете обрабатывать несколько строк. Только один.» gt;gt;gt;gt;gt;gt; На самом деле нет. Это означает скалярные переменные, но что мешает вам вставить их В коллекцию?
2. Исправлен ответ. Конечно, вы можете вставить в коллекцию, но, видя, что они используют dual, очень маловероятно, что они захотят получить больше 1 строки в первую очередь.