我需要实现这个
update [table]
set [column c] = ( select [column a] + ' ' + [column b] from [table] )
但是我收到此错误消息
子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。
如果没有不良后果,我怎样才能达到预期的效果:)
吉姆
答案 0 :(得分:5)
这很简单:
update table
set c = a + ' ' + b
这将更新表格中的所有行。
答案 1 :(得分:2)
尝试将WHERE子句添加到子查询中,以便它只选择一行。
答案 2 :(得分:1)
UPDATE表SET c = a +''+ b; -------如果a,b,c是char / var char数据类型,则此方法有效。
如果它们是数字数据类型,则会出错。 同时检查C.的长度,例如:如果C varchar2(30),varchar2(10)和b varchar2(15),如果右侧值的长度越大,它就越正确,它会给出错误。