SQL 服务器存储过程以不同方式声明变量

SQL Server Stored procedure declaring variable in different way

我刚开始使用 MSSQL,需要了解。

虽然我正在阅读一些我可能会在不久的将来使用的示例代码 找到

CREATE PROCEDURE [dbo].[SP_Set_LMS_BY_ERW] @UPA nvarchar(30) = NULL

问题是上面的@UPA有什么区别 Declare @count nvarchar(30)?

谢谢

@UPA nvarchar(30) = NULL 是过程 argument/parameter (在这种情况下,一个可选参数,因为它被声明为具有 NULL 作为默认值。所以在调用过程时,如果你不提供 @UPA,它会假定 NULL) 您在调用

之类的过程时需要提供
exec  [dbo].[SP_Set_LMS_BY_ERW] @UPA=N'test123'

Declare @count nvarchar(30) 是一个局部变量,将用于某些中间计算或操作,或在您的过程主体中存储一些局部数据。