declare

 declare用于定义变量,而且作用范围在begin...end之间,出了这个范围就不起作用了

例如:

 其中M就是被定义的变量,作用范围就局部于begin..end

 set:

set也可以用来定于变量,定义变量的形式是以"@"开始,如:"@变量名",而且定义的是全局变量

区别:declare和set定义变量,除了一个不加@和一个加@这个区别之外,还有以下区别:

declare用来定义局部变量

@用来定义会话变量

declare变量的作用范围同编程里面类似,在这里一般是在对应的begin和end之间。在end之后这个变量就没有作用了,不能使用了。这个同编程一样。

另外有种变量叫做会话变量(session variable),也叫做用户定义的变量(user defined variable)。这种变量要在变量名称前面加上“@”符号,叫做会话变量,代表整个会话过程他都是有作用的,这个有点类似于全局变量一样。这种变量用途比较广,因为只要在一个会话内(就是某个应用的一个连接过程中),这个变量可以在被调用的存储过程或者代码之间共享数据。

更多推荐