Saya ingin memasukkan data ke tabel saya, tetapi hanya memasukkan data yang belum ada di database saya.
Ini kode saya:
ALTER PROCEDURE [dbo].[EmailsRecebidosInsert]
(@_DE nvarchar(50),
@_ASSUNTO nvarchar(50),
@_DATA nvarchar(30) )
AS
BEGIN
INSERT INTO EmailsRecebidos (De, Assunto, Data)
VALUES (@_DE, @_ASSUNTO, @_DATA)
WHERE NOT EXISTS ( SELECT * FROM EmailsRecebidos
WHERE De = @_DE
AND Assunto = @_ASSUNTO
AND Data = @_DATA);
END
Dan kesalahannya adalah:
Msg 156, Level 15, Status 1, Prosedur EmailsRecebidosInsert, Baris 11
Sintaksis salah di dekat kata kunci 'WHERE'.
insert
pernyataan selalu merupakan satu transaksi. Ini bukan seolah-olah SQL Server mengevaluasi subquery pertama dan kemudian di beberapa titik kemudian, dan tanpa memegang kunci, melanjutkan untuk melakukan penyisipan.