示例:
CREATE PROCEDURE test (@age int) AS BEGIN
BEGIN TRAN
declare @flag int
if @age>20
begin
set @flag=1
end
else if @age<21
begin
set @flag=0
end
select @flag as flag
COMMIT TRAN
END
我需要使用php获取@flag's
值,如何才能实现这一目标?
$ row = mssql_fetch_array($ r,MSSQL_ASSOC); $标志= $行[&#39;标志&#39;];
编辑:没关系,它没有工作,因为我忘记在我的程序中删除一些输出查询。非常感谢;)
答案 0 :(得分:1)
@flag
是该过程的局部变量。返回值的最佳方法是使用输出参数:
CREATE PROCEDURE test (@age int, @flag int output) AS
BEGIN
set @flag = (case when @age > 20 then 1 else 0 end);
END;
在这种情况下,我不明白为什么交易是必要或可取的。