oracle sql语法问题。。。

创建一个触发器,
create or replace trigger GX_ASSIGNMENT_trigger
after insert on GX_ASSIGNMENT
for each row
declare
tabname Varchar(200);
insert_sql Varchar(200);
begin
select 'GX_ASSIGNMENT_'||to_char(sysdate,'yyyymmdd') into tabname from dual;
if inserting then

insert_sql:='insert into ' ||tabname||' values(:NEW.PROJECTID,:NEW.EMPLOYEENUMBER,:NEW.ASSIGNMENTNUMBER,dbms_flashback.get_system_change_number,'insert')';
execute immediate insert_sql;
end if;
end;
其中insert_sql:='insert into ' ||tabname||' values(:NEW.PROJECTID,:NEW.EMPLOYEENUMBER,:NEW.ASSIGNMENTNUMBER,dbms_flashback.get_system_change_number,'insert')';
execute immediate insert_sql;这条语句 语法有问题,请问该怎么写

1个回答

最好用insert into table(字段1,字段2,字段3) values(值1,值2,值3)这种方式写。不知道你的错误是不是这个引起的。

danielinbiti
danielinbiti 回复qiongshizu: 我是说table后面加上对应的字段和values一一对应,这样比容易出错,不然你字段顺序和你参数不一致就错了
5 年多之前 回复
qiongshizu
qiongshizu 不是这样的,里面的参数也要分隔符||
5 年多之前 回复
qiongshizu
qiongshizu 不是这样的,里面的参数也要分隔符||
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐