[英]SQL Server (t-sql) stored procedure with multiple updates
我一直在写一个存储过程。 但现在我不确定我是否正确地做这件事。 我有以下代码:
BEGIN
UPDATE tblPro
SET Email = @p_Email
WHERE ProID = @p_proId
UPDATE tblVisits
SET VisitBrief = 'CONFIRMED'
WHERE VisitID = @p_visitId
UPDATE Bookings
SET JobConfirmation = 1
WHERE BookingID = @p_bookingId
IF @@ROWCOUNT > 0
BEGIN
INSERT INTO tblView (ViewLogType)
VALUES ('Visit')
END
ELSE
PRINT 'WARNING: Insert Failed'
END
为了确保所有语句都已执行,在每个更新语句之后使用@@ROWCOUNT > 0
更好吗?
谢谢你的建议
如果要捕获错误,可以使用TRY / CATCH。
如果要保存行数以备以后使用,则应将它们记录在有兴趣保存的语句中。 即使正确执行了该语句,行数仍可能为零(受影响的行数为0)。
如果希望其中一条语句失败,则可以回滚,也可以使用事务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.