我想动态地将表名传递给insert into select语句。但是,当执行下面的块时,我得到缺少关键字错误。
declare
v_tbl varchar2(4000):='TBL';
begin
execute immediate 'Insert into emp(col1, col2, col3)
select fname, lname, origin
from source src
inner join v_tbl on src.id=tab.id';
end;
我这样做是动态的,因为将有多个表,我将循环通过动态sql。select语句中有多行,所以我不能将值传递给变量。
declare
v_tbl varchar2(4000):='TBL';
begin
execute immediate 'Insert into emp(col1, col2, col3)
select fname, lname, origin
from source src
inner join ' || v_tbl ||' on src.id=tab.id';
end;