製品に関する情報を保持する 2 つのテーブルがあります
products
+-----------+------------+
|productid |productname |
|Int |varchar(50) |
+-----------+------------+
productdetail
+---------+----------+------------+------+------+
|detailId |productid |description |price |stock |
|Int |Int |Text |Money |Int |
| |FK_From_ | | | |
| |productid_| | | |
| |products | | | |
+---------+----------+------------+------+------+
productName と在庫をストアド プロシージャに渡すことにより、TSQL を使用して在庫レベルを更新しようとしています。私はこのようなことができることを望んでいました
Pseudo Code
UPDATE productdetail.stock
SET stock = @stock
WHERE productdetail.productid = products.productname
私は何らかの結合ステートメントを使用する必要があると「考え」、これを見てきました
私のコードに合うように変更しようとしましたが、成功しませんでした。
私がやろうとしていることは、1 つのクエリで可能ですか? または、最初にproductidを選択し、それを変数に設定してから、それを更新クエリの一部として使用する必要がありますか?それが可能であれば、JOINステートメントで次のようになりますlike
:
UPDATE tab_productdetails
SET stock = @newStock
FROM tab_productdetails productid
INNER JOIN
tab_productdetails productid ON
@productName = tab_products.productname
SQL Server 2012 Express を使用しています。それが違いを生むなら。