多くのSQL Serverテーブルのフィールドを更新する必要があるという問題があります。顧客の注文IDは、標準書式 "C000001"(文字の後に数字が続く)に従わないすべてのレコードで更新する必要があります。変更が必要なレコードは、約300個あり(以前のデータベースバージョンからレコードを引き継ぐ)、対応するリンクテーブルもあります。SQL ServerでSQLクエリを更新する
私は自分のSQL上で少し錆びているので、コマンドを確認したいと思います。
私の提案コマンド
UPDATE Customer_Order
SET ID = CONCAT('X', ID)
WHERE ID not like 'c%';
UPDATE Customer_Order_Line
SET Cust_Order_ID = CONCAT('X', Cust_Order_ID)
WHERE Cust_Order_ID not like 'c%';
UPDATE Quote_Order
SET Cust_Order_ID = CONCAT('X', Cust_Order_ID)
WHERE Cust_Order_ID not like 'c%';
等...(私は上記と同じ更新する約12追加のテーブルを持っている)
支援は、事前に感謝を高く評価しています。ちょうどあなたの更新を確認するためにアップデートが選択させる
ここでの質問は何ですか? –
それを手作業でやってみてください...あなたがそれを打ち終わったら、まだ誰かがずっと良い答えを投稿していないでしょう。それはとにかくただのものです。 CTEでそれらをすべて選択してcteを更新することはできますが、それはあなたに混乱してしまいます – scsimon
更新している列には外部キーが関連付けられていませんか?私はIDという名前の列が主キー(少なくとも部分的に)であると期待しているからです。そうであれば、これは機能しません。 – SMor