orcale触发器添加查询条件

记录一次oracle触发器demo的编写:

先创建三张表

图书表:books

表字段:

bno     书编号      |    bname  书名   | 

借书记录表:borrow

bno     书编号      |   rdate 借书日期    |  cno   借书卡号

 

特殊借书记录表:borrow_save (表结构 同borrow表)

 

需求:

写一个触发器,当借书的书名为"三国"的时候.在插入borrow的时候 会通过触发器插入 borrow_save表

 

触发器sql:

CREATE OR REPLACE TRIGGER tr_borrow_save  --创建或者替换触发器名称为 tr_borrow_save
AFTER
INSERT     
ON borrow


FOR EACH ROW --触发语句作用的每一条记录都被触发。在行级触                                                         
             --发器中使用old和new伪记录变量, 识别值的状态。
declare

bno_ varchar2(20); --添加自定义字符串bno_ (必须要设定长度)
BEGIN
		select bno into bno_ from books where bname = '三国'; --查询语句查询"三国"这本书的书编
                                                              --号并对 bno_进行赋值
	 if 
		:new.bno = bno_   --判断插入的书编号是否等于"三国"的书编号
		then
		 insert into borrow_save values (:new.cno,:new.bno,:new.rdate); 

			end if;
			end;

 

注意事项:

   语法中语句的结束 分号(";") 很重要

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值