zoukankan      html  css  js  c++  java
  • mysql 存储过程

    示例
    DELIMITER //
    CREATE  PROCEDURE  proc (IN num INT)  
    BEGIN  
    SELECT  * FROM  v9_qd_account  limit num;  
    END //
    DELIMITER ;

    执行:
    SET @p_in=5;
    CALL proc(@p_in);
    或者
    CALL proc(5);


    循环
    DECLARE num int default 5;
    SET num = 1;
    SET num = num + 1;

    DELIMITER //  
    CREATE PROCEDURE proc(IN sname VARCHAR(20),IN pwd VARCHAR(5),IN qd INT,IN start INT,IN end INT)  
    	begin 
    	DECLARE var INT;
    	DECLARE myname VARCHAR(30);  
    	SET var=start;  
    	while var<end do  
    		SET myname = CONCAT(sname,LPAD(var,3,'0'));
    		insert into v9_qd_account (storename,password,qudao,regdate) value(myname,md5(pwd),qd,UNIX_TIMESTAMP());  
    		SET var=var+1;  
    	end while;  
    	end //  
    DELIMITER ; 
    


    调用
    CALL proc('test','123456',1,1,21);


    查看
        SHOW PROCEDURE STATUS LIKE 'C%' G;  查看以字母C开头的存储过程
        SHOW CREATE PROCEDURE proc G;  查看状态和创建语句
        information_schema.Routines 中查看

    删除
        DROP PROCEDURE IF EXISTS proc;
        DROP FUNCTION mytest;

    点拨

    如果参数中有中文可以这样

      CREATE PROCEDURE useInfo(IN u_name VARCHAR(50) character set gbk,OUT u_age INT) ......

  • 相关阅读:
    C++(封装一)
    数据结构之链式栈(二)
    C++(函数重载二)
    不计算阶乘获得结果末尾0的个数
    附加产品
    刘子闻讲的高精度【太强了】
    字符串相关函数
    回文素数
    蛇形填数
    筛法模版
  • 原文地址:https://www.cnblogs.com/mr-amazing/p/4626646.html
Copyright © 2011-2022 走看看