2014-10-30 69 views
0

我有這個存儲過程。我想知道是否可以獲取來自外部存儲過程的參數的值並將其傳遞到內部存儲過程。以下是我的存儲過程。從外部存儲過程獲取參數值 - 嵌套存儲過程

CREATE PROCEDURE [dbo].[OuterStoredProcedure] 
@OuterParameter_FirstName VARCHAR(50), 
@InnerParameter_Spouse_FirstName VARCHAR(50) 

AS BEGIN

DECLARE @DT DATETIME 
SET @DT = GETDATE() 

INSERT EMPLOYEE_DETAILS WITH (ROWLOCK) 
(
    FirstName 
) 

VALUES 
(
    @OuterParameter_FirstName 
) 

DECLARE @STOREPROC_QUERY NVARCHAR(MAX) 
SET @STOREPROC_QUERY = 'CREATE PROCEDURE InnerStoredProcedure 
         AS 
         BEGIN 
          DECLARE @DT DATETIME 
          SET @DT = GETDATE() 

          INSERT EMPLOYEE_SPOUSE WITH(ROWLOCK) 
          (
           Spouse_FirstName 
          ) 

          VALUES 
          (
           ''HOW WOULD I BE ABLE TO PASS THE VALUE OF THE PARAMETER @InnerParameter_Spouse_FirstName INSIDE THIS SECTION'' 
          ) 
         END' 

EXEC(@STOREPROC_QUERY) 

END

+0

爲什麼使用動態sql創建存儲過程?爲什麼你甚至在這裏使用動態sql? – 2014-10-30 16:08:53

+0

這是客戶需要的。我也不確定他們想做什麼。 – frustratedprogrammer 2014-10-30 20:20:55

+0

不知道客戶使用動態sql創建過程需要什麼。如果你不確定代碼的目的是什麼,我不知道你可以指望別人提供什麼幫助。 – 2014-10-30 20:40:36

回答

0

'' '+ @ InnerParameter_Spouse_FirstName + '''

你所需要的參數仍處於範圍由調用時間SET命令爲您的第二個存儲過程。它應該仍然能夠獲得價值。