T-SQLを使用しています。私はフルネームとSSNテーブルという2つのテーブルを持っています。 SSNテーブルには、名前、姓、およびssn列のレコードが10000以上あります。 fullnameテーブルには、姓と名の100レコードがあります。T-SQL - データを繰り返してもすべての行を更新します。
フルネームの姓名のレコードでSSNテーブルを更新したいとします。 100レコードの最後に、SSNテーブルのすべてのレコードの更新が終了するまで、名前を1行目から開始して繰り返します。私は以下のようなMERGEを試みましたが、 'MERGE文が同じ行を2回以上UPDATEまたはDELETEしようとしました'というエラーメッセージが表示されました。以下のコードでは、[last name]列を最初に更新しようとしていました。あなたは助けてもらえますか?ありがとう。
MERGE INTO [SSN]
USING [fullname]
ON 1=1
WHEN MATCHED THEN
UPDATE
SET [last name] = [fullname].[last name];
:(1)右、あなたは名前がWHICH SSNに割り当てられている気にしませんが、むしろちょうど単一の名前を使用するよりも100名の回転を利用したいですか? (2)テーブルにID列が連続していますか? –
(1)いいえ、問題ではありません。 SSNと一致する名前はありません。これはすべてのテストデータになります。 (2)SSNには順次ID列がありますが、必要に応じてfullnameテーブルに順次IDを追加できます。 – ray500
SSNを平文で保管していないと教えてください。私はあなたがテストデータを生成していることを認識していますが、SSNは常に暗号化する必要があります。 –