@parameter = @parameter语法(SQL Server)

Gin*_*den 2 t-sql sql-server

我在工作中找到了这段代码:

exec dbo.get_name @id = @id, @name = @name output
Run Code Online (Sandbox Code Playgroud)

这是什么意思?我找不到使用此语法的任何示例,也没有找到Microsoft页面上的任何信息.

Mar*_*čič 6

执行storedprocedure时,参数可以按照与过程中定义的顺序不同的顺序传递.你必须用它@parameterName来告诉哪个参数在哪个位置传递.

您的代码中有两个单独的内容:

  1. 该过程期望@id@name参数
  2. 调用模块中有两个具有相同名称的局部变量.

如果以这种方式编写代码,代码可能更容易理解:

 exec dbo.get_name @id = @customerId, @name = @customerName output
Run Code Online (Sandbox Code Playgroud)