2

テーブル内のすべての列をアップグレードしたいのですが、私が目指しているのは、更新する行から列を取得してから更新することです。

update works 
set encrpyted_item_no = (CAST(RTrim((
    select unencrypted_item_no 
    from works 
    where name = name
) AS VARBINARY(50))

クエリが間違っていることはわかっています。これは、私が何を目指しているかを示すための単なる例です。

行から列を選択してから、unencrypted_item_no取得したデータで同じ行を更新し、テーブル全体に対してこれを行いますunencrypted_item_no

どうすればこれを達成できますか?

4

2 に答える 2

5

サブ選択を行う必要はありません。セット内の他の列を参照すると、行ごとに機能します。つまり、次のようになります。

UPDATE works 
SET encrpyted_item_no = CAST(RTrim(unencrypted_item_no) AS varbinary(50))
于 2012-07-09T15:22:20.660 に答える
2

これで十分ではありませんか?

update works 
set encrypted_item_no = CAST(RTrim(unencrypted_item_no) AS VARBINARY(50))
于 2012-07-09T15:23:06.597 に答える