存储过程参数太多

问题描述 投票:0回答:0

我收到这样的错误信息:

过程或函数 rptClientStatement 指定的参数太多

这是我的存储过程:

ALTER PROCEDURE [dbo].[rptClientStatement] 
    (@UserNID INT) 
AS 
BEGIN
    SET NOCOUNT ON

    IF EXISTS (SELECT * FROM ReportClientStatement A 
               WHERE A.UserNID = @UserNID)
    BEGIN
        SELECT 
            A.AutoNID, A.UserNID, A.PeriodNID, A.InvestmentNID, A.ClientNID, 
            C.ClientID, C.ClientName, A.CurrencyNID, CCY.CurrencyID, 
            A.BeginningBalance, A.EntryTime, A.EntryDate, A.ValueDate, A.TradeDate, A.SettleDate, 
            A.TrxType, A.TrxName, A.TrxNID, A.Reference, A.[Description], 
            A.NAVPerUnit, A.Amount, A.Debet, A.Credit, A.CurrentBalance, 
            A.EOD, A.[Days], A.InterestRate, A.InterestAmount, 
            C.[SID], 
            CASE C.InvestorType 
                WHEN 1 THEN K.KTPAddress 
                ELSE K2.CompanyAddress 
            END AS [Address], 
            CASE C.InvestorType 
                WHEN 1 THEN ISNULL(K.MobilePhone, K.HomePhone) 
                ELSE K2.AuthMobilePhone1 
            END AS Phone, 
            CASE C.InvestorType 
                WHEN 1 THEN K.Fax 
                ELSE K2.Fax 
            END AS Fax, 
            CASE C.InvestorType 
                WHEN 1 THEN K.Email 
                ELSE K2.Email 
            END AS Email 
        FROM 
            ReportClientStatement A 
        INNER JOIN 
            Client C ON A.ClientNID = C.ClientNID 
        INNER JOIN 
            Currency CCY ON A.CurrencyNID = CCY.CurrencyNID 
        LEFT JOIN 
            KYCIndividu K ON C.KYCNID = K.KYCNID 
        LEFT JOIN 
            KYCInstitusi K2 ON C.KYCNID = K2.KYCNID 
        WHERE 
            A.UserNID = @UserNID 
        ORDER BY 
            A.AutoNID
    END
    ELSE
    BEGIN
        SELECT A.AutoNID, A.UserNID, A.PeriodNID, A.InvestmentNID, A.ClientNID, '' AS ClientID, '' AS ClientName, 
            A.CurrencyNID, '' AS CurrencyID, 
            A.BeginningBalance, A.EntryTime, A.EntryDate, A.ValueDate, A.TradeDate, A.SettleDate, 
            A.TrxType, A.TrxName, A.TrxNID, A.Reference, A.[Description], 
            A.NAVPerUnit, A.Amount, A.Debet, A.Credit, A.CurrentBalance, 
            A.EOD, A.[Days], A.InterestRate, A.InterestAmount, 
            '' AS [SID], '' AS [Address], '' AS Phone, '' AS Fax, '' AS Email 
            FROM ReportClientStatement A 
            WHERE A.UserNID = @UserNID
    END
END

有什么想法吗?

sql sql-server vba procedure sp
© www.soinside.com 2019 - 2024. All rights reserved.