主题:一个select赋值的问题
我在一本书上看到说,在用select给变量赋值的时候,如果子查询返回多个值,就会自动把最后一个值赋给变量。
但我在实际操作中的结果却不是这样,如:
declare @a char(10)
select @a=
(select name from table1)
select @a
这个就会出现以下错误:
服务器: 消息 512,级别 16,状态 1,行 2
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
(所影响的行数为 1 行)
-------------------
请高手指点!!!!
但我在实际操作中的结果却不是这样,如:
declare @a char(10)
select @a=
(select name from table1)
select @a
这个就会出现以下错误:
服务器: 消息 512,级别 16,状态 1,行 2
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
(所影响的行数为 1 行)
-------------------
请高手指点!!!!