是这样的啊 比如: 存储过程SP1 CREATE PROCEDURE SP1 @a1 varchar(50) AS declare @a2 int BEGIN SELECT @a2 = b FROM tablename WHERE no = @a1 INSERT INTO tablename1 VALUES('1',@a1,@a2)EXEC SP2 //调用SP2 END GO存储过程SP2 CREATE PROCEDURE SP2 @a1 varchar(50) AS DECLARE @ID1 varchar(50) BEGINSELECT @ID1 = ID1 FROM tablename1 WHERE no = @a1INSERT INTO tablename1 VALUES(@ID1,@a1,'2') END GO 在执行SP1时(给@a1赋值P001),报错说SP2中的参数未提供值,也就是说SP2中如何引用SP1中的值啊。 还望各位指教! 谢谢!
如果在A中需要B的返回参数,用楼上方法就可以。
Declare @Result varchar(64)
Declare @chvErrMsg varchar(64)
exec @Result=[prLS_RegisterN]
'Jy_test004', -- 登录名
'Jy_test003', -- 密码
101, -- 脸谱ID
1, -- 性别 1 男 0 女
1, -- 城市ID
'MainServer', -- 注册服务器名
'127.0.0.1', -- 用户登记IP地址
0,-- 机器码
@chvErrMsg output, -- 出错信息
'[email protected]', -- 电子邮件
1 --用户类型,如:金游:1;互联星空:2
if @Result=-1
print @chvErrMsg
//这样就可以取得这个 output参数的值了
比如:
存储过程SP1
CREATE PROCEDURE SP1
@a1 varchar(50)
AS
declare @a2 int
BEGIN
SELECT @a2 = b FROM tablename WHERE no = @a1
INSERT INTO tablename1
VALUES('1',@a1,@a2)EXEC SP2 //调用SP2
END
GO存储过程SP2
CREATE PROCEDURE SP2
@a1 varchar(50)
AS
DECLARE @ID1 varchar(50)
BEGINSELECT @ID1 = ID1 FROM tablename1 WHERE no = @a1INSERT INTO tablename1
VALUES(@ID1,@a1,'2')
END
GO
在执行SP1时(给@a1赋值P001),报错说SP2中的参数未提供值,也就是说SP2中如何引用SP1中的值啊。
还望各位指教!
谢谢!