1 ALTER Procedure [dbo].[Bank_NewOrder_HXxh] 2 @i_op_no int , 3 @v_op_pass Vpass, 4 @i_client_no Varchar(20), 5 @InOut char(1), 6 @Amount int output, 7 @BankPsd varchar(64) output , 8 @UserMemos varchar(200), 9 @BankId char(1) 10 11 AS 12 Declare 13 @Res Int Exec @RES=fyfun.dbo.Bank_NewOrder @i_op_no,@v_op_pass,@i_client_no,@InOut,@Amount,@BankPsd,@UserMemos,@BankId 14 Return @RES
求教大牛,本存储过程是调用另一个数据库的存储过程
@Amount,
@BankPsd 这两个参数在这里我怎么接收,同时
@RES后台也用要到不能去掉
这存储过程应该怎么改呢
create procedure [dbo].[sp_test1] @output varchar(20) OUTPUT as set @output='Hello!'; create procedure [dbo].[sp_test2] as declare @output1 varchar(20); exec dbo.sp_test1 @output1 output; print @output1;
用临时表,给你个示例,你自己套:
CREATE PROC p1 AS BEGIN SELECT 1 END GO Create PROC p2 AS BEGIN CREATE TABLE #tt(id int) INSERT INTO #tt EXEC p1 SELECT * FROM #tt END GO
不明白,, 新手不会套
@t101lian: 大概就是用临时表将proc2的查询结果保存起来,然后再proc1中,查这个临时表的数据。
注:在proc2中,就不要用output参数了,直接用select * 返回结果即可~
二个过程分开写好了,还简洁一些. 也没有太多的耦合.