触发器的简单应用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了触发器的简单应用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2460字,纯文字阅读大概需要4分钟。
内容图文
![触发器的简单应用](/upload/InfoBanner/zyjiaocheng/531/474f398773994d83abcbe16115e51687.jpg)
触发器的简单应用 1.触发器和存储过程的区别 触发器是一个特殊的存储过程。区别就是在于,存储过程需要去调用,而触发器无需调用,在执行某些操作的时候,会自动执行。一般当表或者视图执行 增,删,改操作的时候,就会自动执行触发器中的PL SQL 语句块。还
触发器的简单应用
1.触发器和存储过程的区别
触发器是一个特殊的存储过程。区别就是在于,存储过程需要去调用,而触发器无需调用,在执行某些操作的时候,会自动执行。一般当表或者视图执行 增,删,改操作的时候,就会自动执行触发器中的PL SQL 语句块。还有一个区别, 创建触发器是不带参数的, 而存储过程可带可不带参数。
2.数据库行级触发器的应用
创建一个学生表:
CREATE TABLE xue_sheng( id integer, xing_ming varchar(25),xing_bie number, fen_shu number, b_id integer);
INSERT INTO xue_sheng VALUES(1,'ZhanSan',1,80,1);
INSERT INTO xue_sheng VALUES(2,'LiSi',1,90,2);
INSERT INTO xue_sheng VALUES(3,'ZhanHong',0,75,2);
INSERT INTO xue_sheng VALUES(4,'ChenXiaoMing',1,85,1);
创建一个班级表:
CREATE TABLE ban_ji( id integer , ban_ji varchar(25));
INSERT INTO ban_ji VALUES(1,'1-(1)');
INSERT INTO ban_ji VALUES(2,'1-(2)');
2.1创建一个删除行级触发器
当删除班级表的一个id , 那么它会自动把学生表所属的班级的学生也会删除
SQL> CREATE OR REPLACE TRIGGER del_ban_id
2 AFTER DELETE ON ban_ji
3 FOR EACH ROW
4 BEGIN
5 DELETE FROM xue_sheng where b_id=:old.id;
6 END;
7 /
DELETE FROM ban_ji where id=2;
查看,检查触发器是否自动执行了
select * from ban_ji;
select * from xue_sheng;
执行删除操作的时候, 建立一个 old内存表, old表和ban_ji表 结构完全一样
所以上面的 old.id 可以理解成 ban_ji班级表的 id
2.2创建一个插入行级触发器
SQL> CREATE OR REPLACE TRIGGER insert_ban_ji
2 AFTER INSERT ON ban_ji
3 FOR EACH ROW
4 BEGIN
5 INSERT INTO xue_sheng VALUES('5','test',0,83,:new.id);
6 END;
7 /
INSERT INTO ban_ji VALUES(3,'1-(3)');
查看,检查触发器是否自动执行了
select * from ban_ji;
select * from xue_sheng;
当插入数据时候,先插入到 new 表,new表和班级表结构也是一样的。 然后在插入到 真正的表,
所以 new.id 和 ban_ji班级表id 对应的。
2.3级联更新 同时涉及到 old.id 和 new.id
例如:我要更新班级表的班级id, 当然学生表的班级id也要同时更新
SQL> CREATE OR REPLACE TRIGGER update_ban_ji
2 AFTER UPDATE ON ban_ji
3 FOR EACH ROW
4 BEGIN
5 UPDATE xue_sheng SET b_id=:new.id WHERE b_id=:old.id;
6 END;
7 /
先查看一下原来2个表的数据
select * from xue_sheng;
select * from ban_ji;
然后更新班级表的id
UPDATE ban_ji SET id=8 WHERE id=1;
最后查看一下效果
select * from ban_ji;
select * from xue_sheng;
内容总结
以上是互联网集市为您收集整理的触发器的简单应用全部内容,希望文章能够帮你解决触发器的简单应用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。