数据库触发器举例分析
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"数据库触发器举例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"数据库触发器举例分析"吧!我们维护一张客户表,这张表的内容在周六
千家信息网最后更新 2026年11月03日数据库触发器举例分析
这篇文章主要讲解了"数据库触发器举例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"数据库触发器举例分析"吧!
我们维护一张客户表,这张表的内容在周六和周日不允许修改。这就是客户表:
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安全错误
数据库的锁怎样保障安全
百单网互联网科技有限公司
互联网是第几次科技革命的成果
互联网科技工作委员会毛军
互联网电商科技
猪兼强互联网科技
北京互联网络科技有限公司
上海致骋互联网科技
互联网前沿科技
丰台科技园 互联网公司
广西拼得多互联网科技有限公司
阿里巴巴算科技企业还是互联网
互联网还是高科技吗
互联网科技商业
互联网科技产业特征
广州新华互联网科技学校电竞方面
互联网科技接地气
上海万顺科技互联网有限公司招聘
互联网对科技影响
东风日产互联网科技公司叫什么
科技发展第三阶段互联网时代
互联网科技公司排名
互联网科技工作委员会主任
鸠鸠互联网科技
互联网金融与金融科技
科技与互联网的利与弊
银川新华互联网科技学校联系电话
互联网数据科技专业
上海同邻互联网科技有限公司规模
上海万顺科技互联网有限公司招聘
好易买互联网科技