테이블에 데이터를 삽입하고 싶지만 데이터베이스에없는 데이터 만 삽입하십시오.
내 코드는 다음과 같습니다.
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
그리고 오류는 다음과 같습니다
메시지 156, 수준 15, 상태 1, 프로 시저 EmailsRebidbidInsert, 11 행
키워드 'WHERE'근처의 구문이 잘못되었습니다.
insert
명령문은 항상 단일 트랜잭션입니다. SQL Server가 하위 쿼리를 먼저 평가 한 다음 나중에 다시 잠금을 유지하지 않고 삽입을 수행하는 것처럼 아닙니다.