Я пишу простой диагностический запрос, а затем пытаюсь выполнить его в Oracle 10g SQL Scratchpad. РЕДАКТИРОВАТЬ: он не будет использоваться в коде. Я вкладываю простое «Выбрать *», и оно дает мне ошибки.
В SQL Scratchpad для Oracle 10g Enterprise Manager Console этот оператор работает нормально.
SELECT * FROM v$session sess, v$sql sql WHERE sql.sql_id(+) = sess.sql_id and sql.sql_text <> ' '
Если я пытаюсь обернуть это в Select * from () tb2, я получаю ошибку «ORA-00918: Столбец определен неоднозначно». Я не думал, что такое могло произойти с таким заявлением, поэтому я немного растерялся.
select * from
(SELECT * FROM v$session sess, v$sql sql WHERE sql.sql_id(+) = sess.sql_id and sql.sql_text <> ' ')
tb2
Вы всегда должны иметь возможность выбирать * из результирующего набора другого оператора select *, используя эту структуру, насколько я знаю ... верно?
Oracle / 10g / блокнот пытается заставить меня принять определенную синтаксическую структуру, чтобы предотвратить чрезмерное вложение? Это ошибка в блокноте или что-то о том, как работает Oracle?