您好以下语句会引发一些错误。它在一个存储过程中。这是合法的吗?
V_LONG_STR := 'Text1';
EXECUTE IMMEDIATE 'V_LONG_STR := NULL';
我得到的错误是ORA-00900:无效的SQL语句
我正努力工作
V_LONG_STR := 'REPLACE (''TEST1'',''TEST'', ''TEXT'')';
EXECUTE IMMEDIATE V_LONG_STR;
和edventually
V_LONG_STR := 'REPLACE (''V_LONG_STR := ''TEST1'',''TEST'', ''TEXT'')';
EXECUTE IMMEDIATE V_LONG_STR;
但首先要做的事情
答案 0 :(得分:3)
V_LONG_STR := '
declare
a varchar2(100);
begin
a := REPLACE (''TEST1'',''TEST'', ''TEXT'');
end;
';
EXECUTE IMMEDIATE V_LONG_STR;
答案 1 :(得分:2)
或者(对嵌入式引号不那么麻烦):
V_LONG_STR := q'[
declare
a varchar2(100);
begin
a := REPLACE ('TEST1','TEST','TEXT');
end;
]';
EXECUTE IMMEDIATE V_LONG_STR;