обновить запрос с вставкой? - PullRequest
0 голосов
/ 25 февраля 2011

Мне нужен запрос, который должен как обновлять, так и вставлять.

Сначала я должен проверить это состояние

 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 ]

1 голос
/ 25 февраля 2011

Поскольку ваш вопрос помечен как sql-server-2008, вы можете рассмотреть возможность использования оператора MERGE:

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

0 голосов
/ 25 февраля 2011

Вы можете использовать предложение 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...