mysql的declare只能用在存储过程中么?

dalianxiaolaohu 2010-01-20 06:51:14
declare @a int
select @a=id from tab2
insert into tab2 values(24,'a',@a)
print @a
select * from tab2;
比如类似上面的语句,在mssql中就可以,
查了mysql手册,有两个地方一个说在存储过程中,另一个好像说必须包含在begin,end。。
那么mysql就没有生命变量的方法来么?
...全文
1663 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
realdreamer 2010-12-24
  • 打赏
  • 举报
回复
哈哈,不错,也搞定我的想法了。又学了一招
dalianxiaolaohu 2010-01-20
  • 打赏
  • 举报
回复
给分~qqq
ACMAIN_CHM 2010-01-20
  • 打赏
  • 举报
回复
ACMAIN_CHM 2010-01-20
  • 打赏
  • 举报
回复
[Quote]mysql的declare只能用在存储过程中么[/Quote]是的。MYSQL不支持匿名块。

[Quote]那么mysql就没有生命变量的方法来么?[/Quote]有,你可以直接用 @a, 无需声明。
mysql> set @a=10;
Query OK, 0 rows affected (0.08 sec)

mysql> select @a;
+------+
| @a |
+------+
| 10 |
+------+
1 row in set (0.09 sec)

mysql>

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧