可能重複:
Solutions for INSERT OR UPDATE on SQL Server
Only inserting a row if it's not already there使用Case語句要麼插入表或更新現有行
我的標題幾乎說明了什麼,我試圖做,但我會詳細介紹一下。在創建存儲過程時,首先檢查它是否已經存在(通過比較兩個參數),如果存在,它將更新行中的特定列,並且如果該行不存在,會在表格中插入一個新行。
BEGIN
SELECT
(
CASE WHEN [Site] = @site and Plant = @plant
then
UPDATE [Status]
FROM Server_Status
WHERE [Site] = @site
ELSE
Insert into Server_Status(Name, [Path], [Site], Plant, [Status])
Values (@name, @path, @site, @plant, @status)
end
)
FROM Server_Status
END
是我到目前爲止,但沒有工作(顯然)。有沒有人比我有更多的SQL知識有什麼建議?
-J
[案例不是流控制方法](http://msdn.microsoft.com/en-us/library/ms181765.aspx)SQL Server的哪個版本? –
您還需要修復您的'UPDATE'聲明需要在'UPDATE MyTable的SET的形式MyField的= ...' – JonH
的Microsoft SQL Server 2008 – Brandon