日期:2014-05-18  浏览次数:20451 次

关于SQL的小问题,请解答!
1 declare @bname varchar(10),@age int
2 set @ @bname ='张三'
3 select @age=10
4 select @bname as 姓名,@age as 年龄


我想问下第2句是给变量赋值 
那第三局是很什么意思啊? 改成set @age=10 第四句执行的结果一样吗?[/size]

------解决方案--------------------
第三句也是赋值。
------解决方案--------------------
第二句有问题,是SET @bname='张三',多了个@会报错的。
第三句是赋值,赋值可以使用SET /SELECT,有时候值是来源于一个查询的时候,就要用SELECT,一般认为SET更加高效。所以你的改写完全没问题。只是注意第二句的@就好了
------解决方案--------------------
变量赋值。
------解决方案--------------------
没有分了。关注一下,让系统给点分
------解决方案--------------------
1 declare @bname varchar(10),@age int
定义变量以及变量类型
2 set @ @bname ='张三'
给变量赋值,不过写错了 set @bname ='张三',应该只有一个@
3 select @age=10
也是给变量赋值,还可以从表取出一个字段赋值
select @age=age
from person
where name = name
4 select @bname as 姓名,@age as 年龄
select输出表格显示变量,as成别名,方便操作。