Mam test tabeli mający kolumny id, który klucz podstawowy i auto inkrementowane i nazwa. Chcę wstawić nowy rekord, a jeśli tylko nie ma żadnych rekordów, na przykład
dane wejściowe to id = 30122, a name = John
jeśli istnieją rekordy o identyfikatorze 30122, zaktualizowałem kolumnę z nazwiskiem do Johna, jeśli nie ma żadnych rekordów, wstawiłem nowy rekord.
Mogę zrobić używając 2 zapytań takich jak
select * from test where id=30122
jeśli ma jakieś rekordy, mogę użyć update test set name='john' where id=3012
lub jeśli nie ma zapisów, mogę użyć
insert into test(name) values('john')
Ale chciałem użyć pojedynczego zapytania?
Czy ktoś może powiedzieć, czy to możliwe?
MERGE
żadnej wersji, nawet SQL Server 2019. Trochę o tym tutaj .
But I wanted to use single query?
Czemu?