仅当SQL Server中尚不存在记录时,如何添加记录?

我在C#中有一个带有Sql-server数据库的项目。
在该数据库中,我有一个名为’Process’的表和名为’process_name’,’Full_Name’和’Version’的列(所有类型:nvarchar(50))。
我想写一个将添加新进程的查询,只有在表中不存在的情况下。
我怎样才能做到这一点?
非常感谢,

IF NOT EXISTS (SELECT * FROM Process WHERE process_name = 'xxx') INSERT INTO Process (process_name, Full_Name, Version) VALUES ('xxx', 'yyy', 'zzz') 

您可能对SQL Server 2008中新增的MERGE命令感兴趣。

http://technet.microsoft.com/en-us/library/bb510625.aspx

这允许您插入不存在的行或更新一个语句中存在的记录。

假设process_name是您要检查的PK:

 IF NOT EXISTS(SELECT 1 FROM Process WHERE process_name = @ProcessName) BEGIN -- Process does not already exist, so INSERT END