【发布时间】:2018-06-06 08:46:39
【问题描述】:
请考虑这种情况
declare
lv_sql varchar(4000);
lv_sql1 varchar(4000);
begin
lv_sql1 := 'select case_id from tgt where excluded =''N''';
lv_sql := 'insert into sample values ('||'''select count(1) from ( '||lv_sql1||')'')';
execute immediate (lv_sql);
end;
现在如果我执行这个块,那么它会在 oracle 中引发 Missing COMMA 的错误。
【问题讨论】:
-
这似乎不是有效的 sql,
select count(1) from select case,我希望那里有一个括号 -
v_sql1')'应该是v_sql1||')'。但我无法真正理解整体结构。另外我不确定转义与问题有什么关系。
标签: oracle plsql sql-insert