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) ......

  • 相关阅读:
    BeanUtils在web项目中的应用
    BeanUtils的日期问题
    使用BeanUtils组件
    调用数据库过程函数mysql
    sql注入
    如何取SO中的特性
    Read config detail from SO
    Parts-Ufida ERP project 1
    常用医疗英语
    April 24th 2020
  • 原文地址:https://www.cnblogs.com/mr-amazing/p/4626646.html
Copyright © 2011-2022 走看看