我有一個C#項目與Sql服務器數據庫。
在那個數據庫中,我有一個名爲'Process'的表和名爲'process_name','Full_Name'和'Version'(所有類型:nvarchar(50))的列。
我想編寫一個查詢,只有在表中不存在的情況下,這個查詢纔會添加新進程。
我該怎麼做?
非常感謝,如何僅在SQL Server中不存在記錄的情況下添加記錄?
4
A
回答
12
IF NOT EXISTS (SELECT * FROM Process WHERE process_name = 'xxx')
INSERT INTO Process (process_name, Full_Name, Version)
VALUES ('xxx', 'yyy', 'zzz')
+0
謝謝,很好的回答 – menacheb 2010-04-28 14:33:25
1
假設PROCESS_NAME是要檢查的PK:
IF NOT EXISTS(SELECT 1 FROM Process WHERE process_name = @ProcessName)
BEGIN
-- Process does not already exist, so INSERT
END
3
你可能會感興趣的MERGE命令,它是新的到SQL Server 2008
http://technet.microsoft.com/en-us/library/bb510625.aspx
這允許您插入不存在的行或更新所有存在於一個sta中的記錄tement。
+0
+1擊敗我吧。 – ParmesanCodice 2010-04-28 14:21:30
相關問題
- 1. 僅在Access 2007中不存在的情況下添加記錄
- 2. 只有在記錄不存在的情況下插入記錄
- 3. 如何在甲骨文中不存在記錄的情況下插入記錄?
- 4. 僅在記錄不存在的情況下插入值
- 5. PL/SQL - 只在記錄不存在的情況下插入記錄
- 6. 在不存在記錄的情況下用SQL插入多行
- 7. Berkeley DB:在不讀取記錄的情況下鎖定記錄
- 8. 如何在不加載orm的情況下更新記錄?
- 9. 如何在不記錄日誌的情況下從大表(不是所有記錄)中刪除大量記錄?
- 10. 如何在不打開窗口的情況下添加Vim搜索記錄?
- 11. Hibernate/SQL在不返回關聯的情況下檢索記錄
- 12. 使用情況選擇記錄在SQL Server中選擇
- 13. 如果記錄不存在,則在SQL中插入記錄
- 14. 如何在SQL Server中的歷史記錄表中存儲歷史記錄
- 15. 如何在不污染方法的情況下記錄日誌?
- 16. 如何在不更改rowversion的情況下更新記錄
- 17. 如何在不看{{}的情況下記錄字典?
- 18. 使用doxygen記錄COM對象:如何在不記錄類的情況下記錄類成員
- 19. 如何使用DataGridView在SQL Server中添加多個記錄
- 20. 如何在不同情況下獲取員工記錄
- 21. SQL Server手動添加記錄記錄到視圖
- 22. 如何在沒有複選框的情況下在網格中標記記錄?
- 23. JPA:如何在不加載懶加載集的情況下計算子記錄
- 24. SQL Server存儲過程添加新記錄時轉儲最早的X記錄
- 25. 如何僅在給定查詢不存在記錄的情況下繼續下一個任務?
- 26. 如何在不記錄目錄名的情況下製作一個jar文件?
- 27. 如何在關係中添加記錄(僅當它不存在時)
- 28. 如何僅在記錄尚不存在時才添加到MySQL表中?
- 29. 如何在不保存nodejs |的情況下驗證記錄sailsjs |水線
- 30. 如何在不將記錄保存到文件的情況下啓動android mediarecorder?
什麼決定了過程是否已經進入? process_name? – froadie 2010-04-28 14:12:56
是的,這是PK – menacheb 2010-04-28 14:14:28