1

私はこれを達成する必要があります

update [table]
set [column c] = ( select [column a] + ' ' + [column b] from [table] )

しかし、私はこのエラーメッセージを受け取ります

サブクエリが複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。

望ましくない結果なしに、どうすれば望ましい効果を達成できますか:)

ジム

4

3 に答える 3

5

簡単だ:

update table
set c = a + ' ' + b

これにより、テーブル内のすべての行が更新されます。

于 2009-05-26T09:21:58.670 に答える
2

サブクエリに WHERE 句を追加して、1 行だけを選択するようにしてください。

于 2009-05-26T09:26:07.600 に答える
1

UPDATE table SET c= a+' '+b;-------これは、a、b、c が char/var char データ型の場合に機能します。

それらが数値データ型の場合、エラーが発生します。また、C の長さを確認します。たとえば、C varchar2(30)、a varchar2(10)、および b varchar2(15) の場合、右側の値の長さがそれより長いとエラーになります。

于 2009-05-26T18:56:49.833 に答える