我尝试在mysql工作台上运行一个sql命令块,就像在sqlserver上一样,但它告诉我:declare在这个位置无效。
我在网上看到了很多这样的例子,我真的不明白为什么会出现这样的错误。
一些小费?
sql server示例正常(运行良好)的代码:
MySQL | SQL Server
--------------------- | ------------------------
DECLARE A INT; | DECLARE @A INT;
DECLARE B INT; | DECLARE @B INT;
DECLARE RESULT INT; | DECLARE @RESULT INT;
|
BEGIN | BEGIN
SET A = 1; | SET @A = 1;
SET B = 2; | SET @B = 2;
SET RESULT = A + B; | SET @RESULT = @A + @B;
END; | END;
1条答案
按热度按时间mnowg1ta1#
不幸的是,mysql不支持这一点。你可以用
DECLARE
仅在复合语句中(即BEGINE .. END
块)。因此,只能将此类语句放在存储过程、触发器、事件和函数中。根据文件,
本节介绍begin。。。end复合语句和其他可在存储程序体中使用的语句:存储过程和函数、触发器和事件。这些对象是根据存储在服务器上供以后调用的sql代码定义的(参见第20章,存储程序和视图)。
复合语句是可以包含其他块的块;变量、条件处理程序和游标的声明;以及流控制结构,如循环和条件测试。
也,
只允许在begin中声明。。。结束复合语句,并且必须在其开始处,在任何其他语句之前。