mssql更新多行数据-这个不也是返回多个值吗?
UPDATE T_发货单
SET 出厂日期='2011-9-5'
WHERE (提货单编号 >= 1000001) AND (提货单编号 <= 1000005)
我在执行上面语句时,老提示下面错误:
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。语句已终止。
返回值是有多个,但我怎么更新呢、、、是不是要用游标啊
ps:提货单编号不是主键,后来换成主键也不行,用什么in啊 any 啊也试了,不行。
但是我执行下面语句就没有问题
UPDATE T_用户
SET 密码 = 1234
WHERE (用户ID >= 100) AND (用户ID <= 105)
这个不也是返回多个值吗?
PS:用户ID是主键
搞不懂啊。。。。。
SET 出厂日期='2011-9-5'
WHERE (提货单编号 >= 1000001) AND (提货单编号 <= 1000005)
我在执行上面语句时,老提示下面错误:
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。语句已终止。
返回值是有多个,但我怎么更新呢、、、是不是要用游标啊
ps:提货单编号不是主键,后来换成主键也不行,用什么in啊 any 啊也试了,不行。
但是我执行下面语句就没有问题
UPDATE T_用户
SET 密码 = 1234
WHERE (用户ID >= 100) AND (用户ID <= 105)
这个不也是返回多个值吗?
PS:用户ID是主键
搞不懂啊。。。。。
作者: AoSang_ 发布时间: 2011-09-05
你确定错误的是这个sql?
UPDATE T_发货单
SET 出厂日期='2011-9-5'
WHERE (提货单编号 >= 1000001) AND (提货单编号 <= 1000005)
这个sql 单独执行试试。应该没错误的。T_发货单 这个表不是视图吧。
UPDATE T_发货单
SET 出厂日期='2011-9-5'
WHERE (提货单编号 >= 1000001) AND (提货单编号 <= 1000005)
这个sql 单独执行试试。应该没错误的。T_发货单 这个表不是视图吧。
作者: oswica 发布时间: 2011-09-06