可以在被调用的SP中通过 OUTPUT 返回参数。

解决方案 »

  1.   

    在定义B的时候,就定义参数呀, 在A中调用的时候,把参数传进去不就行了吗。
    如果在A中需要B的返回参数,用楼上方法就可以。
      

  2.   

    //2005-10-13 11:23:45
    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
      

  3.   

    @chvErrMsg output,  -- 出错信息 
    //这样就可以取得这个 output参数的值了
      

  4.   

    是这样的啊
    比如:
    存储过程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中的值啊。
    还望各位指教!
    谢谢!