在另一个存储过程中执行动态存储过程

时间:2014-08-14 08:50:53

标签: sql sql-server sql-server-2008 stored-procedures

我有一个动态存储过程,我通过向其传递各种参数在Access 2013中运行。

但是,我现在需要在另一个存储过程中运行动态存储过程。 目前我知道如何执行标准存储过程。

这是我的动态存储过程执行我在另一个名为 SP_ACTIVITY 的SP中使用:

EXEC sp_executesql @sql, N'@ORGCODE VARCHAR(6), @COMPANYID VARCHAR(6)' 
                              @ORGCODE, @COMPANYID; 

到目前为止,这是我的代码:

CREATE PROCEDURE [dbo].[ASP_SLACTIVITYPAGE]
 @ORGCODE2 AS VARCHAR(6),
@COMPANYID2 AS VARCHAR(6)

AS
BEGIN
SET NOCOUNT ON; 


 IF EXISTS(SELECT 1 FROM tempdb..sysobjects 
WHERE NAME = '#TempACTIVITY' and TYPE = 'U')

DROP TABLE #TempACTIVITY

 CREATE TABLE #tempACTIVITY
        (
        CompanyID VARCHAR(6),
        CompanyName VARCHAR(50),
        PostingID INT,
        EntryDate SmallDateTime,
        TransType VARCHAR(2),
        Ref VARCHAR(50),
        Nominal INT,
        Details VARCHAR(50),
        SumofNetAmt DECIMAL(12,2),
        SumofVATAmt DECIMAL(12,2),
        SumofPaidAmt DECIMAL(12,2),
        CustomerOrderNr VARCHAR(25),
        WONUmber INT,
        PaidStatus VARCHAR(2),
        Credit DECIMAL(12,2),
        Debit DECIMAL(12,2),
        OutStanding DECIMAL(12,2)
        );
 GO     

    INSERT INTO #tempACTIVITY
        (
        CompanyID,
        CompanyName,
        PostingID,
        EntryDate,
        TransType,
        Ref,
        Nominal,
        Details,
        SumofNetAmt,
        SumofVATAmt,
        SumofPaidAmt,
        CustomerOrderNr,
        WONUmber,
        PaidStatus,
        Credit,
        Debit,
        OutStanding
        )
    EXEC sp_executesql SP_ACTVIITY, @ORGCODE2, @COMPANYID2 <---- 
 ---I want to execute with dynamic SP with parameters like the the one above.

1 个答案:

答案 0 :(得分:0)

我错误地引用了存储过程。

答案是:

EXEC [PROCNAME] @Param1, @Param2