MySQL 存储过程,及Begin end 语句块 的注意事项

SELECT
	ss, s1, S3, dd, dde, edsd, sd3, rff, reee, dd333
FROM mytable 
WHERE 1=1
 
drop procedure if Exists  prc_mytable_INIT;     
CREATE PROCEDURE prc_mytable_INIT(nCount INT)
BEGIN
   DECLARE I INT default 0;      
    WHILE I < nCount DO
      SET I = I+1;
      INSERT INTO mytable (ss, s1, dde) 
      select CONCAT('King_', I), CONCAT('Ling_', I), 0;      
    END WHILE; 
    -- call prc_mytable_INIT(1);
    select * from mytable;
END;

不能少了分号;存储过程中可以返回数据集;

少了分号,如下提示:

 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END WHILE

   -- call mytable_INIT(100);
   -- select * from mytable
END' at line 12

在MySQL 中,begin  end 语句块,不支持的;

通常begin-end用于定义一组语句块,在各大数据库中的客户端工具中可直接调用,但在mysql中不可用。begin-end、流程控制语句、局部变量只能用于函数、存储过程内部、游标、触发器的定义内部。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值