zoukankan      html  css  js  c++  java
  • mysql存儲過程+遊標應用之:找缺號5/19

    DELIMITER $$

    DROP PROCEDURE IF EXISTS `testdb`.`code` $$
    CREATE PROCEDURE `code`(in sno char(10))
    BEGIN
      DECLARE done INT DEFAULT 0;
      declare inta,seq0,qseq int;
      declare flag char(1);

      declare curseq cursor for select seq from sto_iproduces where pslipno =sno;
      DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;

      set inta=0,qseq=1,seq0=0,flag='0';

      open    curseq;
      fetch   curseq into seq0;
      while done=0 do
            set inta=inta+1;
            set flag='2';

            if seq0<>inta then
               set qseq=inta;
               set flag='1';
               set done=1;
           end if;
      fetch   curseq into seq0;
      end while;

      close curseq;

    if flag='2'  then
      set qseq=inta+1;
    end if;
       select qseq;
    END $$

    DELIMITER ;
    注:1.pslipno的參數為sno,可別定義與pslipno相同,或者資料表中的欄位名同名
          2.seq為欄位名,其變數為seq0若設為一樣則沒有值
          3.此範例應用於:資料表有slipno+seq為主KEY,要找seq所缺號

  • 相关阅读:
    DAY 223 GIT
    swooleHTTP
    swooleWebSocket
    swooleUDP
    swoole异步MySql
    swooleTCP
    谈谈继承的局限性
    也谈过程决定质量
    谁该为参数负责
    使用function改进设计
  • 原文地址:https://www.cnblogs.com/daisylh/p/752315.html
Copyright © 2011-2022 走看看