SQL Server 输出参数

标签 sql sql-server sql-server-2005

环境是SQL Server 2005

获取存储过程的输出参数时有没有办法使用命名参数?目前,我对输出参数的了解非常有限。看来我必须按照它们在存储过程中声明的顺序使用它们。也就是说,如果我执行 exec test @rich output,@bob output 调用就会崩溃。我怎样才能让订单是任意的?谢谢

create procedure test
  @ID as INT output
 ,@mark as char(20) output
as

  select @ID = 5,@mark='test'
go
declare @bob as int
declare @rich as char(20)
exec test @bob output, @rich output
select @bob,@rich

最佳答案

EXEC test @ID = @bob OUTPUT, @mark = @rich OUTPUT

或者,如果你愿意的话

EXEC test @mark = @rich OUTPUT, @ID = @bob OUTPUT  

关于SQL Server 输出参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5819830/

相关文章:

mysql - 以下场景需要 SQL 查询

sql - 从递归查询创建存储过程

mysql - 从 mySQL 5.5 到 SQL Server 2005 的语法更改

sql-server-2005 - Row_Number() 与联合查询

sql - pl Sql developer 在新窗口获取查询结果

php - Laravel/SQL 按流行度/趋势排序

sql - 在 SQL Server 的更新语句中使用随机记录更新表?

sql-server - tablix 仅返回数据集的 1 条记录

sql-server - 通过一些数据转换创建 Sql 服务器复制(期间或结束时)

mysql - NOT IN sql 花费太长时间