存储过程中'@'和'DECLARE'有什么区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储过程中'@'和'DECLARE'有什么区别?相关的知识,希望对你有一定的参考价值。
@
和DECLARE
在存储过程中有什么区别?
CREATE PROCEDURE PRO
@ID INT
@NAME NVARCHAR
AS BEGIN
DECLARE @ADDRESS NVARCHAR
END
答案
SQL Server中的变量名称以@
开头。
存储过程(和用户定义的函数)可以以变量的形式接收parameters - 它们只是用它们的名称和数据类型列出。
此外,在存储过程和函数中,您可以创建局部变量 - 为此您使用declare
关键字。
所以在问题中发布的代码中,@Id
和@Name
是存储过程的参数,而@Address
是局部变量。
请注意,每当在SQL Server中声明字符串(char
/ nchar
/ varchar
/ nvarchar
)变量时,必须指定变量的(max)长度,否则SQL Server将默认长度设置为1 char。
以上是关于存储过程中'@'和'DECLARE'有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章
pl/sql中存储过程怎么写decode(a_id, '12', '风, '28', '区') ?编译报错,decode 功能怎么实现