MySQL数据库------存储过程的创建、使用以及查看

1、创建存储过程

DELIMITER $       --声明一个结束标识
CREATE PROCEDURE pro_test2(IN userId LONG)    --创建存储过程的名称以及添加需要传入的参数
BEGIN    --开始
    SELECT * FROM mall_order    --sql语句
        WHERE user_id = userId;
END $  --结束

2、查询储存过程

CALL pro_test2(15);    --里面填入的是创建存储过程时的参数

3、删除存储过程

DROP PROCEDURE pro_test1;  

4、查看数据库中的存储过程

SELECT name 
FROM mysql.proc 
WHERE db= "xxx"   --xxx是你的数据库名称

5、如果是需要输出的存储过程

DELIMITER $  
CREATE PROCEDURE pro_test2(OUT content VARCHAR(20))
BEGIN
    SET content = '测试';
END $

 

查看参数(局部变量,即上面的方法)

CALL pro_test2(@content);  --定义局部变量来接收参数

SELECT @content;    --查看局部变量值

查看所有全局变量

SHOW variables

查看某个全局比变量

SELECT @@autocommit;

6、带参数的数据查询

DELIMITER $  
CREATE PROCEDURE pro_test3(INOUT number INT)
BEGIN
    SELECT number;
    SET number = 100;
END $

 

SET @number = 10;   --先改变变量的值

 

CALL pro_test3(@number);   --定义变量


SELECT @number;    --查询变量,可以在之前先查询一遍,观察数据变化情况

7、带有条件判断的存储

DELIMITER $  
CREATE PROCEDURE pro_test(IN number INT,OUT content VARCHAR(20))
BEGIN
    IF number = 1 THEN
                SET content = '星期日';
        ELSEIF number = 2 THEN
                SET content = '星期一';
        ELSEIF number = 3 THEN
                SET content = '星期二';
        ELSEIF number = 4 THEN
                SET content = '星期三';
        ELSEIF number = 5 THEN
                SET content = '星期四';
        ELSEIF number = 6 THEN
                SET content = '星期五';
        ELSEIF number = 7 THEN
                SET content = '星期六';
        ELSE SET content = '您的输入有误';
        END IF;
END $

 

CALL pro_test(2,@content);    --定义参数
SELECT @content;    --查询变量

8、使用查询的结果赋值给变量(INTO)

DELIMITER $
CREATE PROCEDURE pro_test(IN number INT,OUT accountName VARCHAR(20) )
BEGIN
    SELECT name 
    INTO accountName 
    FROM user
    WHERE id=number;
END $

CALL pro_findById2(1,@accountName);   --定义变量

SELECT @accountName;    --查询变量
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值