奇怪的存储过程?
我今天上班的时候,建立的存储过程,我在公司测试的时候,好像是有结果的。能返回最大值的。但我刚才在家的电脑上测试的时候,好像有问题。
这个过程在SQL分析器建立的。
CREATE PROCEDURE [dbo].[P_Max]
@a int,
@b int,
@R int output
AS
if(@a>@b)
set @R=@a
else
set @R=@b
GO
--调用
declare @R1 int
exec P_Max 12,3,@R1 output
select @R1
--值12
*--VFP调用
r1=0
?SQLEXEC(nhandle,'exec dbo.P_Max 1,100,?@R1 output')
?r1
**都是0,
不知道那里出了问题?我明天再在单位上的电脑测试??
我为什么要用存储过程返回值呢?而不在VFP直接查询呢 SQLEXEC(nhandle,str,'tab'),因为这样用用到临时表tab,如果用SCAN...ENDSCAN来处理数据的,临时表会影响到SCAN的表指针。
所以我选择用过程的返回值OUTPUT.
[ 本帖最后由 mywisdom88 于 2015-8-11 13:58 编辑 ]