8.2.3 创建存储过程
创建存储过程用CREATE PROCEDURE语句,在SQL Server 中,CREATE PROCEDURE的语法格式是:
参数说明:
■ procedure_name
表示存储过程的名称,对于数据库及其所有者必须唯一。
■ ;number
表示可选的整数,用来对同名的过程分组,以便用一条 DROP PROCEDURE 语句即可将同组的过程一起除去。例如,名为 orders 的应用程序使用的过程可以命名为 orderproc;1、orderproc;2 等。DROP PROCEDURE orderproc 语句将除去整个组。
■ @ parameter
表示过程中的参数。在 CREATE PROCEDURE 语句中可以声明一个或多个参数。用户必须在执行过程时提供每个所声明参数的值(除非定义了该参数的默认值)。使用 @ 符号作为第一个字符来指定参数名称。
■ data_type
表示参数的数据类型。所有数据类型(包括 text、ntext 和 image)均可以用作存储过程的参数。不过,cursor 数据类型只能用于 OUTPUT 参数。如果指定的数据类型为 cursor,也必须同时指定 VARYING 和 OUTPUT 关键字。
■ VARYING
指定作为输出参数支持的结果集(由存储过程动态构造,内容可以变化)。仅适用于游标参数。
■ default
表示参数的默认值。如果定义了默认值,不必指定该参数的值即可执行过程。默认值必须是常量或 NULL。
■ OUTPUT
表明参数是返回参数。该选项的值可以返回给 EXEC[UTE]。使用OUTPUT参数可将信息返回给调用过程。Text、ntext和image参数可用作OUTPUT参数。
■ n
表示最多可以指定2100个参数的占位符。
■ {RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}
RECOMPILE 表明 SQL Server 不会缓存该过程的计划,该过程将在运行时重新编译。在使用非典型值或临时值而不希望覆盖缓存在内存中的执行计划时,请使用RECOMPILE 选项。
ENCRYPTION 表示 SQL Server 加密 syscomments 表中包含 CREATE PROCEDURE 语句文本的条目。使用 ENCRYPTION 可防止将过程作为 SQL Server 复制的一部分发布。
■ AS
指定过程要执行的操作。
■ sql_statement
这是过程中要包含的任意数目和类型的 Transact-SQL 语句。
■ n
表示此过程可以包含多条 Transact-SQL 语句的占位符。
在ERM系统中,我们可以创建一个存储过程,用于处理出入库操作(如采购入库、采购退货、报损、调拨、零售、顾客退换货等)对仓库存货的当前库存量的影响。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。