zoukankan      html  css  js  c++  java
  • Mysql游标的简明写法

    -- cursor 游标
    /*
    declare 声明; declare 游标名 cursor for select_statement;
    open 找开; open 游标名
    fetch 取值; fetch 游标名 into var1,var2,var3[,...]
    close 关闭; close 游标名;
    */
    create procedure p12()
    begin
    declare row_gid int;
    declare row_num int;
    declare row_name varchar(20);

    declare getgoods cursor for select gid,num,name from goods;

    open getgoods;
    fetch getgoods into row_gid,row_num,row_name;
    select row_num,row_name;
    close getgoods;
    end;

    create procedure p13()
    begin
    declare cnt int default 0;
    declare i int default 0 ;
    declare row_gid int;
    declare row_num int;
    declare row_name varchar(20);

    declare getgoods cursor for select gid,num,name from goods;

    select count(*) into cnt from goods;

    open getgoods;

    repeat
    set i := i+1;
    fetch getgoods into row_gid,row_num,row_name;
    select row_num,row_name;
    until i>=cnt end repeat;

    close getgoods;
    end;

    --利用标误码来结束循环
    --在mysql cursor中,可以把declare continue handler来操作1个越界标识
    /*
    declare continue handler for not found 语句;
    */
    create procedure p14()
    begin
    declare row_gid int;
    declare row_num int;
    declare row_name varchar(20);
    declare flag int default 1; --标识

    declare getgoods cursor for select gid,num,name from goods;

    declare continue handler for NOT FOUND set flag := 0;

    open getgoods;

    repeat
    if flag!=0 then
    fetch getgoods into row_gid,row_num,row_name;
    select row_num,row_name;
    end if;
    until flag=0 end repeat;
    close getgoods;
    end;

  • 相关阅读:
    监控网页是否有变化
    设置开机自动启动进程
    nagios-调用脚本
    连接数据库出现10061错误
    小程序修改默认的radio样式
    小程序端,做类似于支付宝充值话费或流量的样式
    jq 在字符串中,去掉指定的元素
    vue 使用 proxyTable 解决跨域问题
    vue-cli 动态绑定图片失败
    vue-cli 使用 font-awesome 字体插件
  • 原文地址:https://www.cnblogs.com/ahwu/p/3630352.html
Copyright © 2011-2022 走看看