Plsql 立即执行失败
我尝试使用“立即执行”,当我运行程序时,我不断得到-Plsql 立即执行失败,plsql,Plsql,我尝试使用“立即执行”,当我运行程序时,我不断得到- ORA-00904:“NOV”:无效标识符。 我检查了这个专栏20次,名字是对的。该表只有两列-acc、run1 另外,在输出中我得到[使用dbms\u output.put\u行(v\u stat)]: 我错过什么了吗 create or replace procedure lahad is v_sec_t varchar2 (100) := 'LAHAD2'; v_date date := trunc (sysdate+10); v_
ORA-00904:“NOV”:无效标识符。
我检查了这个专栏20次,名字是对的。该表只有两列-acc、run1
另外,在输出中我得到[使用dbms\u output.put\u行(v\u stat)
]:
我错过什么了吗
create or replace procedure lahad is
v_sec_t varchar2 (100) := 'LAHAD2';
v_date date := trunc (sysdate+10);
v_stat varchar2 (500);
begin
v_stat :=
'update '|| v_sec_t|| '
set run1 = ' || v_date ;
dbms_output.put_line (v_stat);
EXECUTE IMMEDIATE v_stat;
end Lahad;
您必须具备以下条件:
update LAHAD2 set run1 = '19-NOV-17'
因此,对于上述内容,您必须
v_stat := 'update '|| v_sec_t|| ' set run1 = ''' || v_date ||'''';
在这方面有一个迄今为止的可能更安全。期望:
update LAHAD2 set run1 = to_date('19-NOV-17', 'DD-MON-YY')
你需要
v_stat := 'update '|| v_sec_t|| ' set run1 = to_date(''' || v_date ||''') , ''DD-MON-YY'')';
希望你能得到这个东西,特别是这个“
在输出中输入单个”
。Oracle正在说这是什么2017年11月19日
。。甲骨文将如何理解这一点。如果我说SHSHSHSH
,你会怎么理解。。你用这句话来解释什么
v_stat := 'update '|| v_sec_t|| ' set run1 = to_date(''' || v_date ||''') , ''DD-MON-YY'')';