存储过程:IF EXISTS (SELECT * FROM sys.objects O WHERE O.type='P' AND O.name='XT_PROC_GetBillNo')
BEGIN
DROP PROCEDURE XT_PROC_GetBillNo
END
GO
CREATE PROCEDURE XT_PROC_GetBillNo
    @BillNo VARCHAR(100) OUT 
AS
BEGIN
select @BillNo= 'ACD'
ENDGO----执行存储过程 DECLARE @BillNo INT
EXECUTE XT_PROC_GetBillNo @BillNo
SELECT @BillNo返回值为 NULL 值,为什么

解决方案 »

  1.   

    IF EXISTS (SELECT * FROM sys.objects O WHERE O.type='P' AND O.name='XT_PROC_GetBillNo')
    BEGIN
        DROP PROCEDURE XT_PROC_GetBillNo
    END
    GO
    CREATE PROCEDURE XT_PROC_GetBillNo
        @BillNo                VARCHAR(100) OUT 
    AS
    BEGIN
        select @BillNo= 'ACD'
    ENDGO----执行存储过程    DECLARE @BillNo VARCHAR(100)
        EXECUTE XT_PROC_GetBillNo @BillNo OUT
        SELECT @BillNo
    /*
    ACD
    */
      

  2.   

    DECLARE @BillNo VARCHAR(100)--字段類型   EXECUTE XT_PROC_GetBillNo @BillNo OUT --少了Out