我在A表的触发器中写入如下语句可用执行,能在table_history中同样的插入一条数据insert into table_history(a,b,c) values(:new.a,:new.b,:new.c)
但是在如果改成下面的写法就出现错吴,提示未,并非每个变量都绑定,不知是问什么 execute immediate 'insert into table_history(a,b,c) values(:new.a,:new.b,:new.c)'有大虾帮我解惑么?
new

解决方案 »

  1.   

    execute immediate SQL 你用:NEW的话,它把NEW当做要传入的变量了,需要变量绑定了。而:new是一个特殊的引用变量,并非是传入变量啊
      

  2.   

    你得改成  execute immediate 'insert into ttt(addr) values('||:new.id||')';  这样的句子。要不然会把:NEW.ID 当然一个变量的