小白教程

 找回密码
 立即注册
查看: 10179|回复: 3

mysql 创建存储过程,求指教

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2021-4-23 22:13:33 | 显示全部楼层 |阅读模式

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

1

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2021-4-27 01:09:13 | 显示全部楼层
delimiter //
XXXXXXXXXXXX
end //
delimiter ;

需要指定界定符,比如 //
中间的XXXX是你的函数内容,注意最后的end后面加上界定符 //
回复

使用道具 举报

0

主题

1

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2021-5-14 18:47:15 | 显示全部楼层
没有问题,只是你把mysql 当sql server用了。 server这样也不行的。

第一个你去掉引号试试。
第二个 你这个声明变量的方法,只能用于存储过程内。
回复

使用道具 举报

0

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2021-5-24 12:27:57 | 显示全部楼层
先把以下的代码刷到MYSQL的数据库上,这个是创建存储过程用的。
  1. DELIMITER $

  2. DROP PROCEDURE IF EXISTS `GETP` $

  3. CREATE PROCEDURE `GETP` (
  4.   IN IN1 VARCHAR (32),
  5.   OUT OUT1 INT,
  6.   OUT OUT2 VARCHAR (128)
  7. )
  8. BEGIN
  9.   SELECT
  10.     0,
  11.     IFNULL(IN1, 0) + 10 INTO OUT1,
  12.     OUT2 ;
  13. END $


  14. DELIMITER ;
复制代码

然后整体执行以下内容,调用刚刚创建的那个储存过程。
  1. SET @IN1 := 10 ;
  2. SET @OUT1 := NULL ;
  3. SET @OUT2 := NULL ;
  4. CALL GETP (@IN1, @OUT1, @OUT2) ;
  5. SELECT   @IN1,  @OUT1,  @OUT2 ;
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-11-24 13:51 , Processed in 0.025796 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表