存储过程中的“ @”和“ DECLARE”有什么区别?

时间:2019-04-18 06:14:14

标签: tsql

在存储过程中,@DECLARE有什么区别?

CREATE PROCEDURE PRO
@ID INT
@NAME NVARCHAR
AS BEGIN
DECLARE @ADDRESS NVARCHAR 
END

1 个答案:

答案 0 :(得分:0)

SQL Server中的变量名称以@开头。
存储过程(和用户定义的函数)可以采用变量形式的parameters-只需列出它们的名称和数据类型即可。

此外,在存储过程和函数中,您可以创建局部变量-为此,您可以使用declare关键字。

因此,在问题中发布的代码中,@Id@Name是存储过程的参数,而@Address是局部变量。

请注意,每当在SQL Server中声明字符串(char / nchar / varchar / nvarchar)变量时,都必须指定该变量,否则SQL Server将默认长度为1个字符。