说,我们有存储过程(一个或多个)执行的简单操作如何使用存储过程检查删除/更新操作是否成功完成?
CREATE PROCEDURE [dbo].[AddNewAuthorReturnID]
(
@Author_Name VARCHAR(MAX),
@Author_ID int OUTPUT
)
AS
SET NOCOUNT OFF;
BEGIN
INSERT INTO AUTHORS (@Author_Name)
VALUES (@Author_Name)
SET @Author_ID = SCOPE_IDENTITY()
SELECT @Author_ID
END
在上述过程
,所述重新调整的ID是成功的操作的指示。
考虑这个
CREATE PROCEDURE [dbo].[DeleteAuthor]
(
@Author_ID int
)
AS
SET NOCOUNT OFF;
BEGIN
DELETE FROM AUTHORS
WHERE
(Author_ID = @Author_ID)
END
我们怎样才能知道手术很成功 和记录(作者)的 成功地取出,如果我们使用上面 程序?
与更新操作相同吗?
感谢
@约翰,如果语句不影响任何行,但发生了什么没有错误? – Giorgi 2010-01-19 12:11:32
更新操作如何? – 2010-01-19 12:11:57
@asdi,您可以使用@@ ROWCOUNT与更新操作相同的方式,但我不建议使用它,因为如果存储过程执行时没有错误,但没有行受到影响,它将返回0 – Giorgi 2010-01-19 12:15:04