Перед вставкой на сервер SQL проверьте наличие дубликата с тем же идентификатором - PullRequest
0 голосов
/ 14 июля 2020

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

INSERT INTO Customers (UnicCode, CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('W5RTS', 'Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');

Как я могу реализовать этот запрос, выберите из Customers и если нет такую ​​запись добавить новую?

Ответы [ 2 ]

2 голосов
/ 14 июля 2020

exists - очень понятный способ проверки наличия

insert into Customers
(
   UnicCode,
   CustomerName,
   ContactName,
   Address,
   City,
   PostalCode,
   Country
)
select   'W5RTS',
         'Cardinal',
         'Tom B. Erichsen',
         'Skagen 21',
         'Stavanger',
         '4006',
         'Norway'
where not exists
(
   select * from Customers where UnicCode = 'W5RTS'
);
1 голос
/ 14 июля 2020

Вы можете просто попробовать not exists, как показано ниже

if not exists (select 1 from Customers where UnicCode = 'W5RTS')
begin
   --Your insert logic/statements here
end
else
begin
  --Your update or other logic/statements here
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...