存储过程中'@'和'DECLARE'有什么区别?

问题描述 投票:0回答:1

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

CREATE PROCEDURE PRO
@ID INT
@NAME NVARCHAR
AS BEGIN
DECLARE @ADDRESS NVARCHAR 
END
tsql
1个回答
0
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.