Я пытаюсь вставить данные в таблицу, используя оператор execute immediate
. Но я получаю ошибку.Выполнить немедленное заявление
FROM keyword not found where expected
Может кто-нибудь посмотреть, что не так?
declare
c1 SYS_REFCURSOR;
v_tabl_name varchar2(30);
begin
open c1 for
select tablename from table1;
LOOP
FETCH c1 INTO v_tabl_name;
EXIT WHEN c1%NOTFOUND;
execute immediate 'insert tabl2(tabl_name) (select ''tem'' from'||v_tabl_name||')' ;
END LOOP;
close c1;
end;
подавай пространство после того, как из (выберите «» ПЭМ «» от «|| v_tabl_name ||», а также использовать в предложении в вашей вставки заявлении. – Buddi
Правильно, я ставлю место после того, как из ... странно но это работает :) спасибо. Я не знаю, почему, когда я помещаю свой код без предложения «в». – bazyl
Это не странно, если вы думаете об этом. Это разница между 'fromtable_name' и' from table_name'. Один из них синтаксически корректен, другой - нет ... – Boneist