首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle 触发器

2012-07-31 
求一个oracle 触发器有表T1字段idcode……有表t2字段gh(自动增长列)idcode现在需要一个触发器当表t1新增(删

求一个oracle 触发器
有表T1
字段id
code
……

有表t2
字段 
gh(自动增长列)
id
code

现在需要一个触发器
当表t1新增(删除)一条记录时
把所插入记录的id、code插入到表t2中
(删除表t2中相同id的那条记账)



[解决办法]

SQL code
CREATE TABLE X1 (id NUMBER(5),code VARCHAR2(10));CREATE TABLE X2 (gh NUMBER(5),id NUMBER(5),code VARCHAR2(10));CREATE SEQUENCE seq_x2  MINVALUE 1 MAXVALUE 99999 START WITH 1 INCREMENT BY 1NOCACHE;SELECT seq_x2.NEXTVAL FROM dual;SELECT seq_x2.CURRVAL FROM dual;CREATE OR REPLACE TRIGGER xx1   AFTER INSERT OR DELETE ON x1 FOR EACH ROW BEGIN   IF INSERTING THEN     INSERT INTO x2(gh,id,code) VALUES (seq_x2.NEXTVAL,:NEW.id,:NEW.code);  END IF;  IF DELETING THEN     INSERT INTO x2(gh,id,code) VALUES (seq_x2.NEXTVAL,:old.id,:old.code);  END IF;END xx1;INSERT INTO x1 VALUES (100,'c100');SELECT * FROM x2;GH  ID  CODE2 100 c100DELETE FROM X1 WHERE ID=100;SELECT * FROM x2;GH  ID  CODE2 100 c1003 100 c100 

热点排行