存储过程-第四课(语法)

一、游标使用

  1)定义

        DECLARE cursor_name CURSOR FOR SELECT_statement;

  2)操作游标

        OPEN 打开游标   OPEN cursor_name

        FETCH获取游标当前指针的记录,并传给指定变量列表,并传给指定变量列表,注意变量数必须与MySQL游标返回的字段数一致,要获得多行数据,使用循环语句去执行FETCH

                       FETCH     cursor_name     INTO    variable   list;

        CLOSE关闭游标     CLOSE cursor_name

   注意:MySQL的游标是向前只读的,也就是说,你只能顺序地从开始往后读取结果集,不能从后往前,也不能直接跳到中间的记录.

DECLARE CONTINUE HANDLER FOR NOT FOUND SET  l_last_sale=1;它的含义是:若没有数据返回,程序继续,并将变量l_last_sale设为1 ,这种情况是出现在select XX into XXX from tablename的时候发生的。

例如:


二、触发器

        语法:

                  create trigger triggerName
                  after/before insert/update/delete on 表名
                  for each row   #这句话在mysql是固定的
                  begin
                      sql语句;
                  end;

        对于insert而言,新插入的行用new来表示,行中的每一列的值用new.列名来表示

        对于delete而言:原本有一行,后来被删除,想引用被删除的这一行,用old来表示,old.列名可以引用被删除的行的值。

        对于update而言:被修改的行,修改前的数据,用old来表示,old.列名引用被修改之前行中的值;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值