存储过程的一个问题,请教大家,请进--------------------->>
lyq 2004-06-26 03:54:46 CREATE PROCEDURE [dbo].[rk_j]
@billno varchar(30),--流水号
@incode varchar(30),--商品编码
@fname varchar(100),--商品名称
@rsl numeric(18,4), --入库数量
@rdj numeric(18,4) --入库单价
AS
DECLARE
@zsl numeric(18,4),
@zje numeric(18,4),
@sql nvarchar(4000)
set @sql='SELECT TOP 1 @zsl=zsl,@zje=zje FROM djk WHERE (incode =@incode) ORDER BY id DESC'
exec sp_executesql @sql,N' @incode varchar(30),@zsl numeric(18,6),@zje numeric(18,6) output',@incode=@incode,@zsl=@zsl,@zje=@zje output
select @zsl,@zje
GO
以上,返回结果为:
NULL 18.0000
去掉@zsj参数后,@zsl值能够出来。难道这样不能返回多个 值吗?
还有,上边创建过程时的参数与下边定义的参数有什么区别,是不是上边的全局,需要调用时赋值,下边的为临时变量。