update invd.InvoiceDetail set invd.costprice=883.75
from InvoiceDetail invd
where saleDespatchDetailID = 5
このクエリでエラーが発生します。
メッセージ 208、レベル 16、状態 1、行 1
無効なオブジェクト名 'invd.InvoiceDetail'。
update invd.InvoiceDetail set invd.costprice=883.75
from InvoiceDetail invd
where saleDespatchDetailID = 5
このクエリでエラーが発生します。
メッセージ 208、レベル 16、状態 1、行 1
無効なオブジェクト名 'invd.InvoiceDetail'。
エイリアスを指定したので、エイリアスを参照するため、コードは次のようになります。
update invd
set invd.costprice=883.75
from InvoiceDetail invd
where invd.saleDespatchDetailID = 5
ただし、テーブルを別のテーブルと結合していないため、エイリアスは実際には必要ありません。
update InvoiceDetail
set costprice=883.75
where saleDespatchDetailID = 5
UPDATE
更新に参加していないため、基本的なステートメントを直接実行できます。
update InvoiceDetail
set costprice = 883.75
where saleDespatchDetailID = 5
私自身のステートメントの書き方では、以下のように、更新ステートメントでテーブルに参加している場合UPDATE
にのみ使用しますFROM
UPDATE a
SET a.ColumnName = 'a'
FROM table1 a
INNER JOIN table2 b
ON a.PK = b.FK
WHERE a.Column = 'xxx'