数据库触发器举例分析
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要讲解了"数据库触发器举例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"数据库触发器举例分析"吧!我们维护一张客户表,这张表的内容在周六
千家信息网最后更新 2025年01月23日数据库触发器举例分析
这篇文章主要讲解了"数据库触发器举例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"数据库触发器举例分析"吧!
我们维护一张客户表,这张表的内容在周六和周日不允许修改。这就是客户表:
CREATE TABLE plch_customers( custnum INTEGER, custname VARCHAR2 (100))
我需要创建一个触发器来阻止周末对这张表的任何插入、修改和删除。我写了这些代码:
CREATE OR REPLACE TRIGGER plch_customers_maint_trg /*TEXT*/DECLAREBEGIN IF TO_CHAR (SYSDATE, 'DY', 'NLS_DATE_LANGUAGE=ENGLISH') IN ('SAT', 'SUN') THEN RAISE_APPLICATION_ERROR (-20000 , 'Customers maintained Monday-Friday only.'); END IF;END;/
哪些选项可用来取代文中的/*TEXT*/, 使得这个触发器不允许周末对plch_customers表执行任何DML操作,并且每个语句只触发一次?
(A)
BEFORE UPDATE ON plch_customers FOR EACH ROWBEFORE INSERT ON plch_customers FOR EACH ROWBEFORE DELETE ON plch_customers FOR EACH ROW
SQL> CREATE OR REPLACE TRIGGER plch_customers_maint_trgBEFORE UPDATE ON plch_customers FOR EACH ROWBEFORE INSERT ON plch_customers FOR EACH ROWBEFORE DELETE ON plch_customers FOR EACH ROWDECLAREBEGIN IF TO_CHAR (SYSDATE, 'DY', 'NLS_DATE_LANGUAGE=ENGLISH') IN ('SAT', 'SUN') THEN RAISE_APPLICATION_ERROR (-20000 , 'Customers maintained Monday-Friday only.'); END IF;END;ORA-04079: 无效的触发器说明SQL>
(B)
BEFORE UPDATE ON plch_customersBEFORE INSERT ON plch_customersBEFORE DELETE ON plch_customers
SQL> CREATE OR REPLACE TRIGGER plch_customers_maint_trgBEFORE UPDATE ON plch_customersBEFORE INSERT ON plch_customersBEFORE DELETE ON plch_customersDECLAREBEGIN IF TO_CHAR (SYSDATE, 'DY', 'NLS_DATE_LANGUAGE=ENGLISH') IN ('SAT', 'SUN') THEN RAISE_APPLICATION_ERROR (-20000 , 'Customers maintained Monday-Friday only.'); END IF;END;ORA-04079: 无效的触发器说明SQL>
(C)
BEFORE UPDATE, INSERT OR DELETE ON plch_customers
SQL> CREATE OR REPLACE TRIGGER plch_customers_maint_trgBEFORE UPDATE, INSERT OR DELETE ON plch_customersDECLAREBEGIN IF TO_CHAR (SYSDATE, 'DY', 'NLS_DATE_LANGUAGE=ENGLISH') IN ('SAT', 'SUN') THEN RAISE_APPLICATION_ERROR (-20000 , 'Customers maintained Monday-Friday only.'); END IF;END;ORA-00969: 缺失 ON 关键字SQL>
(D)
BEFORE UPDATE OR INSERT OR DELETE ON plch_customers FOR EACH ROW
SQL> Trigger createdSQL>
(E)
BEFORE UPDATE OR INSERT OR DELETE ON plch_customers
SQL> Trigger createdSQL>
答案E
D不是答案因为每行都会触发,不满足条件。
感谢各位的阅读,以上就是"数据库触发器举例分析"的内容了,经过本文的学习后,相信大家对数据库触发器举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
触发器
数据
数据库
分析
内容
学习
客户
就是
答案
代码
关键
关键字
思路
情况
文章
更多
条件
知识
知识点
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江苏c语言软件开发哪家专业
小程序云开发数据库安全性
自由表转换为数据库表的命令
金山区网络软件开发协议
戴尔服务器410拆解
湖南数据软件开发价格监测中心
蓝鸽的软件开发工程师怎么样
cmd服务器命令
犬夜叉觉醒数据库操作
国家网络安全博览会安排
rabbitmq是数据库吗
软件开发用什么工具比较快
重庆苹果软件开发怎么样
服务器网口nic和mgmt
gencode数据库怎么使用
软件开发公司产品流程
重庆软件开发定制要多少钱
怎样开发数据库管理系统
使命召唤战区是哪个服务器的
宝山区个人软件开发报价信息中心
医学影像软件开发商
中国最好的网络安全实验室
无线网络技术导论课后答案
桃子互联网科技
hana是多维数据库吗
数据库查找重复数字软件
5g对网络安全影响
wg饥荒联机没有服务器
linux数据库修改大小写
中国台湾超频服务器厂家现货