请问各路大侠: SQL 存储过程中使用 @ 和 @@ 各有什么作用呀。 细节问题: 存储过程中使用 @ 和 @@ 的区别及用途??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 @开头的局部变量,@@开头的是全局变量.用户可以定义@开头的局部变量,而不能定义@@开头的全局变量.即使用户定义了@@开头的变量也不是全局的,只是局部的.换句话说,@@开头的局部变量是由SQLSERVER系统控制的,只有少数几个.详情请楼主参考DECLARE帮助. 任何程序设计都离不开变量,T-SQL也同样需要变量来辅助.T-SQL里的变量除了要使用@前缀来标识外,对变量的赋值和读取变量的值也比较特殊.在SQLSERVER中,为变量赋值要使用SELECT或SET,二者的区别之一是SELECT可以为多个变量赋值,而SET只能为一个变量赋值.例如:delcare @id int,@name varchar(50)select @id = 1,@name = '张三'set @id = 1set @name = '张三'另外一个重要区别是,SELECT可以将查询的结果保存到变量中,例如:select @id = ID,@name = Name from table where ID = 1 /*对@id,@name赋值*/select @id,@name /*返回@id,@name*/declare @count intselect @count = count(*) from table /*获得记录数并保存到@count中*/select @count /*返回记录数*/如上所示,查询或返回变量的值必须用select.另外可以使用print @变量名来在查询分析器中显示变量值,该命令只是显示变量值,而select则返回结果集. @ 自定义变量和 @@是全局变量,全局变更是系统默认的,不能自己定义。。如@@rowcount是返回某条查询语句的行数 命令行修改SQL Server 2005登陆身份为Local System,请问能实现吗? 求一条简单SQL语句,路过打酱油的也进来瞧瞧~ 一个事务处理的问题。简单 服务器:消息17,级别16,状态1 请教一个问题。为什么? 在sql server2005中查询表的字段的备注(说明),为什么会报错误呢: 对象名 'sysproperties' 无效。如何解决? 求SQL语句 sql 存储过程 请问,从Access中把数据表导入到SQLserver里后,能否快速设置? 带参数的sql语句,具有挑战性,急,急,急! 求一个思路,新人新问题, 下面的句子中的'N'的意思是代表什么?
用户可以定义@开头的局部变量,而不能定义@@开头的全局变量.即使用户定义了@@开头的变量也不是全局的,只是局部的.换句话说,@@开头的局部变量是由SQLSERVER系统控制的,只有少数几个.
详情请楼主参考DECLARE帮助.
T-SQL里的变量除了要使用@前缀来标识外,对变量的赋值和读取变量的值也比较特殊.
在SQLSERVER中,为变量赋值要使用SELECT或SET,二者的区别之一是SELECT可以为多个变量赋值,而SET只能为一个变量赋值.例如:
delcare @id int,@name varchar(50)
select @id = 1,@name = '张三'
set @id = 1
set @name = '张三'
另外一个重要区别是,SELECT可以将查询的结果保存到变量中,例如:
select @id = ID,@name = Name from table where ID = 1 /*对@id,@name赋值*/
select @id,@name /*返回@id,@name*/
declare @count int
select @count = count(*) from table /*获得记录数并保存到@count中*/
select @count /*返回记录数*/如上所示,查询或返回变量的值必须用select.另外可以使用print @变量名来在查询分析器中显示变量值,该命令只是显示变量值,而select则返回结果集.
如@@rowcount是返回某条查询语句的行数