从存储过程返回自定义值 [英] Returning a custom value from stored procedure

查看:23
本文介绍了从存储过程返回自定义值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个存储过程;

USE [DataBase]
GO
/****** Object:  StoredProcedure [dbo].[DeleteAll]    Script Date: 05/09/2011 00:18:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[DeleteAll]
    @theID uniqueidentifier
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON
    BEGIN TRANSACTION

    BEGIN TRY

        DELETE FROM Table1
        WHERE ID = @theID    

        DELETE FROM Table2
        WHERE ID = @theID    

        DELETE FROM Table3
        WHERE ID = @theID

    END TRY

    BEGIN CATCH
        IF @@TRANCOUNT > 0 
            BEGIN 
                ROLLBACK TRANSACTION
            END
    END CATCH;

    IF @@TRANCOUNT > 0 
        BEGIN
            COMMIT TRANSACTION
        END
END

可以根据结果返回一个整数吗??

It’s possible to return an integer depending on the result??

例如:1 表示成功,2 表示捕获.

For example: 1 for success, 2 for the catch.

提前致谢!

埃德加.

推荐答案

是的,这是可能的.

使用 RETURN 语句并检查返回值 在您的客户端代码中.

CREATE PROCEDURE checkstate @param varchar(11)
AS
IF (SELECT StateProvince FROM Person.vAdditionalContactInfo WHERE BusinessEntityID = @param) = 'WA'
    RETURN 1
ELSE
    RETURN 2;
GO

这篇关于从存储过程返回自定义值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆