Как передать значение параметра из одной хранимой процедуры в другую? - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь передать входные параметры из одной хранимой процедуры в другую хранимую процедуру, значение параметра будет использоваться для вставки в таблицу.

У меня есть две хранимые процедуры, вотлогика для SP:

Первый -

CREATE PROCEDURE [abc].[SP1](
@ID1     INT
@ID2     INT
@Date    VARCHAR(10)
@Value   VARCHAR(50)
)

AS 

Select into #temp...

EXEC [abc].[SP2] @ID1, @ID2, @Date, @Value

Select...

Второй -

CREATE PROCEDURE [abc].[sp2](
@bID1    INT
@bID2    INT
@bDate   VARCHAR(10)
@Value   VARCHAR(50)
)

DECLARE @bID1 INT, @bID2 INT, @bDate VARCHAR(10), @Value VARCHAR(50)


--main part that I'm concerned with, getting the parameter values to work
SELECT @bID1, @bID2, @bDate, @Value, x.col1, x.col2 
INTO [abc].[tableA]
FROM tableX x

Когда я пытаюсь это сделать, я получаю сообщение о том, что я "долженобъявить скалярную переменную "

1 Ответ

1 голос
/ 28 мая 2019

Это не то, как вы создаете процедуры в SQL Server. Вы должны сделать что-то вроде этого:

CREATE PROCEDURE [SP1]
 @ID1     INT
,@ID2     INT
,@Date    VARCHAR(10)
,@Value   VARCHAR(50)

AS 

Select into #temp...

Во-вторых, когда вы объявили параметры для процедуры, вы не можете объявить переменные с такими же именами ниже:

 CREATE PROCEDURE [abc].[sp2]
 @bID1    INT
,@bID2    INT
,@bDate   VARCHAR(10)
,@Value   VARCHAR(50)

AS

--main part that I'm concerned with, getting the parameter values to work
SELECT @bID1, @bID2, @bDate, @Value, x.col1, x.col2 
INTO [abc].[tableA]
FROM tableX x
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...