首页 百科知识 创建存储过程

创建存储过程

时间:2024-10-17 百科知识 版权反馈
【摘要】:创建存储过程用CREATE PROCEDURE语句,在SQL Server 中,CREATE PROCEDURE的语法格式是:表示可选的整数,用来对同名的过程分组,以便用一条 DROP PROCEDURE 语句即可将同组的过程一起除去。表示过程中的参数。所有数据类型均可以用作存储过程的参数。RECOMPILE 表明 SQL Server 不会缓存该过程的计划,该过程将在运行时重新编译。使用 ENCRYPTION 可防止将过程作为 SQL Server 复制的一部分发布。在ERM系统中,我们可以创建一个存储过程,用于处理出入库操作对仓库存货的当前库存量的影响。

8.2.3 创建存储过程

创建存储过程用CREATE PROCEDURE语句,在SQL Server 中,CREATE PROCEDURE的语法格式是:

img131

参数说明:

■ 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系统中,我们可以创建一个存储过程,用于处理出入库操作(如采购入库、采购退货、报损、调拨、零售、顾客退换货等)对仓库存货的当前库存量的影响。

img132

img133

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈