用插入更新查询?

时间:2011-02-25 12:19:57

标签: sql sql-server-2005

我需要一个必须同时进行更新和插入的查询..

首先我必须检查这个条件

 SELECT TOP 1 * FROM NEC_Customer_DB_Map where DB_AvailabilityFlag = 'Y'

如果DB_AvailabilityFlag = 'Y'我必须将此'Y'更新为'ASSIGNED',并且还要我 必须使用

插入
 INSERT INTO NEC_Customer_DB_Map(NEC_CustomerCode,NEC_CustomerName) VALUES(@NEC_CustomerCode,@NEC_CustomerName)

任何人都可以将这些组合成一个查询。任何建议?

2 个答案:

答案 0 :(得分:1)

由于你的问题用sql-server-2008标记,你可以考虑使用MERGE语句:

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

答案 1 :(得分:-1)

您可以使用where子句使插入条件成为条件:

INSERT INTO NEC_Customer_DB_Map(NEC_CustomerCode,NEC_CustomerName) 
SELECT @NEC_CustomerCode,@NEC_CustomerName
WHERE EXISTS (SELECT * FROM NEC_Customer_DB_Map where DB_AvailabilityFlag = 'Y')