在存储过程中,@
和DECLARE
有什么区别?
CREATE PROCEDURE PRO
@ID INT
@NAME NVARCHAR
AS BEGIN
DECLARE @ADDRESS NVARCHAR
END
答案 0 :(得分:0)
SQL Server中的变量名称以@
开头。
存储过程(和用户定义的函数)可以采用变量形式的parameters-只需列出它们的名称和数据类型即可。
此外,在存储过程和函数中,您可以创建局部变量-为此,您可以使用declare
关键字。
因此,在问题中发布的代码中,@Id
和@Name
是存储过程的参数,而@Address
是局部变量。
请注意,每当在SQL Server中声明字符串(char
/ nchar
/ varchar
/ nvarchar
)变量时,都必须指定该变量,否则SQL Server将默认长度为1个字符。