我有一個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. 在不存在記錄的情況下用SQL插入多行
- 5. Berkeley DB:在不讀取記錄的情況下鎖定記錄
- 6. 如何在不打開窗口的情況下添加Vim搜索記錄?
- 7. Hibernate/SQL在不返回關聯的情況下檢索記錄
- 8. 如何在SQL Server中的歷史記錄表中存儲歷史記錄
- 9. 如何在不看{{}的情況下記錄字典?
- 10. 如何在不更改rowversion的情況下更新記錄
- 11. 如何在不污染方法的情況下記錄日誌?
- 12. 如何使用DataGridView在SQL Server中添加多個記錄
- 13. 如何在沒有複選框的情況下在網格中標記記錄?
- 14. SQL Server手動添加記錄記錄到視圖
- 15. JPA:如何在不加載懶加載集的情況下計算子記錄
- 16. SQL Server存儲過程添加新記錄時轉儲最早的X記錄
- 17. 如何僅在給定查詢不存在記錄的情況下繼續下一個任務?
- 18. 如何在不記錄目錄名的情況下製作一個jar文件?
- 19. 如何僅在記錄尚不存在時才添加到MySQL表中?
- 20. 如何在不保存nodejs |的情況下驗證記錄sailsjs |水線
- 21. 如何在沒有Foundation的情況下記錄空行?
- 22. 如何在與ponyorm多對多的情況下選擇記錄
- 23. 如何在不移除上一個標記的情況下添加新標記?
- 24. 如何在不使用sink()的情況下在R中記錄錯誤?
- 25. 如何在不初始化的情況下在Rails 2中查詢記錄
- 26. Java:雖然記錄存在=保持將記錄添加到記錄的末尾
- 27. 如何在沒有記錄存在的情況下按組條件返回零
- 28. 如何在json-store中添加記錄
- 29. 如何在JqGrid中添加新記錄?
- 30. 如何在不影響其他記錄器的情況下爲apetder在cetain類/包上設置記錄閾值?
什麼決定了過程是否已經進入? process_name? – froadie 2010-04-28 14:12:56
是的,這是PK – menacheb 2010-04-28 14:14:28