使用CREATE PROCEDURE 语句创建存储过程:
CREATE PROCEDURE 语句基本语法如下:
CREATE PROCEDURE [schema_name] procedure_name [;number]
{ @parameter data type}
[ VARYING ] [=default ] [OUT] [OUTPUT] [READONLY]
[ WITH <ENCRYPTION] | [ RECOMPILE] | [ EXECUTE AS Clause ] > ]
[ FOR REPLICATION ]
AS <sql_statement>
procedure_name:新存储过程的名称,并且在架构中必须唯一。可在procedure_name前面使用一个数字符号“#”来创建局部临时过程,使用两个“#”来创建全局临时过程。对于CLR存储过程,不能指定临时名称。
number:可选整数,用于对同名的过程分组。例如称为orders的应用程序可能使用orderproc;1、orderproc;2等过程,drop procedure orderproc语句将删除整个组。
@parameter:存储过程中的参数。在CREATE PROCEDURE 语句中可以声明一个或多个参数。
data_type:指定数据类型。
default:存储过程中参数的默认值。
output:指示参数的输出参数。此选项可返回给调用EXECUTE。
RECOMPILE:表明SQL Server 不会保存该存储过程的执行计划,该存储过程没执行一次都要重新编译。
ENCRYPTION:表示加密后的syscomments表,该表的text字段的包含create procedure语句的存储过程文本。使用ENCRYPTION关键字无法通过查看syscomments表来查看存储过程的内容。
For replicaation:用于指定不能在订阅服务器上执行为复制创建的存储过程。
AS:用于指定该存储过程要招待的操作。
sql_statement:是存储过程中要包含的任意数目和类型的Transact-SQL语句。
例如:
创建查看test数据库中fruits表的存储过程,输入语句如下:
USE test;
Go
create procedure SelProc
AS
select * from fruits;
Go