www.fltk.net > orAClE触发器声明变量

orAClE触发器声明变量

create or replace trigger 触发器名 before insert on 表 for each row declare xx varchar2(5); yy varchar2(2); begin select xx into xx from a where a.a='a'; yy := 2; end ;

这里变量使用时不能加冒号

declare @Cnumber int;----销售商品的数量 declare @Cid varchar(50);----库存里面商品的ID --给需要减少的商品的数量赋一个初始值,确保在重新赋值时不会出错 SET @Cnumber = 0 --给商品的编号赋赋一个初始值 SET @Cid = '1' --如果不赋个初始...

rintf("please input the first letter of someday\n"); while ((letter=getch())!='Y')/ { switch (letter) {case 'S':printf("please input second letter\n"); if((letter=getch())=='a') printf("saturday\n"); else if ((letter=getch())==...

看着没有问题啊,会不会你本地表bdcs_xmdy就没有ID这一列?

SELECT SUBSTR(LOG.EVENTDETAIL, INSTR('|' || LOG.EVENTDETAIL || '|', '|', 1, RN), INSTR('|' || LOG.EVENTDETAIL || '|', '|', 1, RN + 1) - INSTR('|' || LOG.EVENTDETAIL || '|', '|', 1, RN) - 1), LOG.INCIDENTNO INTO TZTIME, DDTIME, ...

加个判断就好了,可以用自带的异常。 EXCEPTION WHEN NO_DATA_FOUND THEN 变量 = NULL; END ;

亲下面就是触发器 你可以往里面套用 CREATE OR REPLACE TRIGGER 触发器名称 AFTER INSERT ON A FOR EACH ROW BEGIN INSERT INTO B (字段1,字段2,...,字段n) VALUES(:new.字段1,:new.字段2,...,:new.字段n); END 触发器名称; /

代码如下: CREATE OR REPLACE TRIGGER tri_aft_ins_a AFTER INSERT ON a FOR EACH ROWDECLAREBEGIN INSERT INTO B (suser, scontent, createTime, nispublic, smoduleId) VALUES (:NEW.screateUser, :NEW.nid, :new.screatetime, 0, 'report');...

Quote: “触发器中不能使用数据库事务控制语句 COMMIT; ROLLBACK, SVAEPOINT 语句;”

网站地图

All rights reserved Powered by www.fltk.net

copyright ©right 2010-2021。
www.fltk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com