更新和插入查询

时间:2013-12-30 17:58:33

标签: sql sql-server-2008

我想在查询中一起使用插入和更新如何将它一起用于例如

INSERT INTO [Sales_Detail_Table] ([RecieptNumber], [ID], [Quantity] ) VALUES (?, ?, ?)
UPDATE       dbo.Medicine
SET           Quantity = ?
WHERE        (ID = ?)

我想更新药品表中的数量,即(设置medicine.quantity = Medicine.quantity -Sales_Detail_Table数量,其中ID = Sales_detail_table .ID已输入)

2 个答案:

答案 0 :(得分:2)

你想把它们一起使用是什么意思?如果要确保两个操作都发生,可以对INSERT和UPDATE语句使用事务。这将确保两个语句作为单个工作单元失败或完成。

答案 1 :(得分:0)

如果您想同时插入和更新,请查看以下内容:

merge dbo.target main
using #updatedata new
ON main.ID=new.ID
WHEN MATCHED THEN
    UPDATE
    SET main.field=new.field
WHEN NOT MATCHED BY TARGET THEN
    INSERT (field)
    VALUES (new.field)