我需要实现这一点
update [table]
set [column c] = ( select [column a] + ' ' + [column b] from [table] )
但我收到此错误消息
子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。
如何在没有不良结果的情况下达到预期效果:)
吉姆
我需要实现这一点
update [table]
set [column c] = ( select [column a] + ' ' + [column b] from [table] )
但我收到此错误消息
子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。
如何在没有不良结果的情况下达到预期效果:)
吉姆
这很容易:
update table
set c = a + ' ' + b
这将更新表中的所有行。
尝试将 WHERE 子句添加到子查询中,以便它只选择一行。
UPDATE table SET c= a+' '+b;--------如果 a,b,c 是 char/var char 数据类型,则此方法有效。
如果它们是数字数据类型,则会出错。还要检查 C.for 的长度,例如:如果 C varchar2(30)、a varchar2(10) 和 b varchar2(15),如果右侧值的长度更大,则会出现错误。