मैं अपनी तालिका में डेटा सम्मिलित करना चाहता हूं, लेकिन केवल वही डेटा सम्मिलित करता हूं जो मेरे डेटाबेस में पहले से मौजूद नहीं है।
यहाँ मेरा कोड है:
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
और त्रुटि यह है:
Msg 156, Level 15, State 1, प्रक्रिया EmailsRecebidosInsert, लाइन 11
'WHERE' कीवर्ड के पास गलत सिंटैक्स।
insert
कथन हमेशा एक ही लेनदेन होता है। यह ऐसा नहीं है कि SQL सर्वर पहले सबक्विरी का मूल्यांकन करता है और बाद में कुछ बिंदु पर, और बिना लॉक पकड़े, इंसर्ट करता है।