Моя конечная цель намного сложнее, чем эта, но это сокращенная версия того, что вызывает мою ошибку. Я хочу поместить несколько строк во временную таблицу (на самом деле несколько временных таблиц, но я не могу преодолеть это первое препятствие). Вот мой PL / SQL;
DECLARE
type L1_store is table of MyTable%rowtype;
L1 L1_store;
BEGIN
select
* bulk collect
into L1
from MyTable
WHERE 1=1
and length(MyColumn1) = 2;
select
L1.MyColumn1
,L1.MyColumn2
from L1;
END;
И вот ошибка, которую я получаю;
ORA-06550: line 19, column 6:
PL/SQL: ORA-00942: table or view does not exist
ORA-06550: line 16, column 1:
PL/SQL: SQL Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
Номера строк могут быть неправильными, так как я редактировал фактический PL / SQL для ясности
**** РЕДАКТИРОВАТЬ ****
ОК, поэтому я изначально принял ответ, предложенный ниже, так как похоже, что он отвечает на мой вопрос, и я вижу, как я мог бы использовать Это. Однако, для ясности, вот моя конечная цель, в случае, если есть лучший ответ, чем тот, который у меня в голове.
Если бы я просто делал это в SQL, я бы сделал что-то вроде
with L1 as
(select * from table),
L2 as
(select * from anothertable)
select L1.Column
from L1
left join L2 on L1.somecolumn = L2.somecolumn
Я не знаю, помогает ли это или мешает, но спасибо всем в ожидании вашего дальнейшего терпения.