sqlserver存储过程实例模板语法解读
简书链接:sqlserver存储过程实例模板语法解读
文章字数:561,阅读全文大约需要2分钟
1 | CREATE [ OR ALTER ] { PROC | PROCEDURE } |
这段模板是 SQL Server 中创建存储过程的语法,下面是每个符号的含义:
{ } 表示可以选择其中一个选项。
[ ] 表示方括号内的内容为可选项。
<> 表示尖括号内的内容需要根据具体情况替换为实际的值。
| 表示竖线两侧的内容为可选项,可以选择其中一个。
具体解释如下:
CREATE [ OR ALTER ] PROCEDURE:表示创建一个存储过程。OR ALTER 表示如果该存储过程已经存在,则更新它而不是创建一个新的。
[schema_name.] procedure_name [ ; number ]:指定存储过程的名称和编号(可选)。schema_name 是可选的,如果没有指定,则使用默认架构。number 是可选的,用于指定多个存储过程名字相同但参数不同的版本。
@parameter_name:表示存储过程的输入参数名称。
type_schema_name. data_type:指定输入参数的数据类型。type_schema_name 是可选的,如果省略,则默认使用 dbo 架构。data_type 可以是任何 SQL Server 数据类型,例如,int、varchar、datetime 等等。
VARYING:表示输入参数的长度可变。
NULL:表示输入参数允许为空。
= default:表示指定输入参数的默认值。
OUT | OUTPUT | [READONLY]:表示输出参数或只读参数(当指定 EXECUTE AS Clause 后)。
,…n:表示可以指定多个输入参数。
WITH
FOR REPLICATION:表示该存储过程可用于复制。
AS { [ BEGIN ] sql_statement [;] [ …n ] [ END ] }:指定存储过程的主体。可以包含多个 SQL 语句或 Transact-SQL 语句块。
ENCRYPTION:表示加密存储过程定义。
RECOMPILE:表示在每次执行存储过程时重新编译存储过程。
EXECUTE AS Clause:指定运行存储过程的安全上下文。可以是任何有效的 SQL Server 安全上下文,例如,OWNER、SELF、USER 等等。
参考https://learn.microsoft.com/en-us/sql/t-sql/language-elements/transact-sql-syntax-conventions-transact-sql?view=sql-server-ver15