CREATE PROCEDURE InsertProc
(
@id int,
@to nvarchar(100),
@from nvarchar(100),
@subject nvarchar(100),
@date datetime
)
AS
IF NOT EXISTS (SELECT NULL FROM Emails_Log
WHERE Email_ID = @ID)
BEGIN
INSERT INTO Emails_Log (Email_ID, e_To, e_From, e_Subject, e_Date)
VALUES (@id, @to, @from, @subject, @date)
END
如果你真的想更新记录,如果已经存在,如果不存在,则插入,模式如下:
CREATE PROCEDURE InsertProc
(
@id int,
@to nvarchar(100),
@from nvarchar(100),
@subject nvarchar(100),
@date datetime
)
AS
UPDATE Emails_Log
SET e_To = @to,
e_From = @from,
e_Subject = @subject,
e_Date = @date
WHERE Email_ID = @ID
-- If there was no update it means that @ID does not exist,
-- So we proceede with insert
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO Emails_Log (Email_ID, e_To, e_From, e_Subject, e_Date)
VALUES (@id, @to, @from, @subject, @date)
END