有一个想法,
首先创建一个表,有ID(主键),NAME,AGE
再创建一个表,表内有count。
制作一个触发器,如果用户对第一个表进行增删改的时候,触发触发器,对第二个表的count进行+1。
求解决,小白懂得少,希望大神教学,谢谢
![](https://profile-avatar.csdnimg.cn/2f7fe38802784e878ca2cd0d6f84934a_qq_35930299.jpg!4)
Oracle触发器,求大神详细讲解
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 战在春秋 2017-04-11 02:18关注
1 创建table1:
CREATE TABLE table1 ( id number(5), name char(20), age number(2), );
2 创建table2,并给count字段初值为0
CREATE TABLE table2 ( count number(5), ); INSERT INTO table2 VALUES (0);
3 插入触发器
CREATE OR REPLACE TRIGGER add_after_insert AFTER INSERT ON table1 FOR EACH ROW DECLARE v_currentCount number(5); BEGIN SELECT count INTO v_currentCount FROM table2; UPDATE table2 SET count = v_currentCount +1; END
4 删除触发器
CREATE OR REPLACE TRIGGER add_after_delete AFTER DELETE ON table1 FOR EACH ROW DECLARE v_currentCount number(5); BEGIN SELECT count INTO v_currentCount FROM table2; UPDATE table2 SET count = v_currentCount +1; END
5 更新触发器
CREATE OR REPLACE TRIGGER add_after_update AFTER UPDATE ON table1 FOR EACH ROW DECLARE v_currentCount number(5); BEGIN SELECT count INTO v_currentCount FROM table2; UPDATE table2 SET count = v_currentCount +1; END
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 在若依框架下实现人脸识别
- ¥15 网络科学导论,网络控制
- ¥100 安卓tv程序连接SQLSERVER2008问题
- ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同