USE tag
GO
ALTER PROCEDURE Graph
@x VARCHAR(7)
AS
BEGIN
DECLARE @y VARCHAR(9)
DECLARE @z VARCHAR(9)
SELECT @y = @x;
SELECT @z = @x;
IF( (SELECT A.h FROM A
LEFT JOIN R ON A.h= R.h
WHERE A.x= @x) = '1')
BEGIN
EXEC Graph1 @y --> another stored procedure
END
IF( (SELECT A.h FROM A
LEFT JOIN R ON A.h= R.h
WHERE A.x= @x) = '3')
BEGIN
EXEC Graph2 @z --> another stored procedure
END
END
这里我收到以下错误
过程或函数'Graph1'需要参数'@y',这是未提供的。 过程或函数'Graph2'需要参数'@z',这是未提供的。
但是我声明了它们并将值分配给存储过程中的上述参数。关于这个错误的任何建议或想法我在这里做什么?
答案 0 :(得分:0)
而不是:
EXEC Graph1 --> another stored procedure
你需要这样做:
EXEC Graph1 @y
同样地:
EXEC Graph1 @z
目前,您在第一个存储过程中设置了局部变量@y
和@z
的值,但是您没有将它们作为参数传递给您正在调用的存储过程。