数据库SQL ServerSQLite教程 课件 第8、9章 存储过程、触发器和游标; 数据库应用开发.pptx

数据库SQL ServerSQLite教程 课件 第8、9章 存储过程、触发器和游标; 数据库应用开发.pptx

第 8 章 存储过程、触发器和游标; 8.1 存 储 过 程;   2. 存储过程的分类   存储过程可以大大提高执行效率,增加复用性,减轻网络负担,安全性也高。如果要修改存储过程,就要进入数据库中进行修改。   1) 系统存储过程   系统存储过程 (System Stored Procedure) 以 sp_ 开头,如 sys.sp_addgroup( 在当前数据库中创建一个组 )。此类存储过程是 SQL Server 内置的存储过程,通常用来进行系统的各项设置、读取信息或执行相关管理工作。;   例 8-1 查看 sc 表的约束。结果如图 8-1 所示。 代码如下:     exec sp_helpconstraint sc;   2) 扩展存储过程   扩展存储过程 (Extended Stored Procedure) 通常以 xp_ 开头,如 xp_logininfo( 授予登录权限的 Windows 组和用户信息 )。此类存储过程大多是用其他编程语言如 C++ 编写而成的,其内容并不是保存在 SQL Server 中,而是以 DLL 的形式单独存在的。   例 8-2 执行以下存储过程将返回所有的 account name、type 和 privilege 等信息。 代码如下:     exec xp_logininfo;;   例 8-3 查看有关 D:\sq 文件夹的文件信息。显示结果如图 8-2 所示。代码如下:     exec xp_cmdshell dir D:\sq\;;   3) 用户自定义存储过程   用户自定义存储过程 (User-Defined Stored Procedure) 是由用户设计的存储过程。其名称可以是任意组合 SQL Server 命令规则的字符组合,通常以“usp_”开头,避免以“sp_” 或“xp_”开头,以免造成混淆。自定义的存储过程会被添加到所属数据库的存储过程中,并以对象的形式保存。; 8.1.2 创建存储过程   1. 使用 create procedure 语句创建存储过程   1) 语法格式;   参数说明:   (1) procedure_name 是要创建的存储过程的名称,它后面跟一个可选项 number,是一个整数,用来区别一组同名的存储过程,如 proc1、proc2 等。   (2) @parameter 用来声明存储过程的形式参数。在 create procedure 语句中,可以声明一个或多个参数。   (3) data_type 是参数的数据类型。   (4) varying 指定由 output 参数支持的结果集,仅应用于游标型参数。   ;   (5) default ???定参数的缺省值。如果定义了缺省值,那么即使不给出参数值,则该存储过程仍能被调用。缺省值必须是常数或空值。   (6) output 表明该参数是一个返回参数。用 output 参数可以向调用者返回信息。text 类型参数不能用作 output 参数。   (7) recompile 指明 SQL Server 并不保存该存储过程的执行计划,该存储过程每执行一次都要重新编译。   (8) encryption 表明 SQL Server 加密了 syscomments 表,该表的 text 字段是包含有create procedure 语句的存储过程文本,使用该关键字无法通过查看 syscomments 表来查看存储过程内容。;   (9) for replication 表明仅当进行数据复制时过滤存储过程才被执行。for replication 与with recompile 选项是互不兼容的。   (10) as 指明该存储过程将要执行的动作。sql_statement 是包含在存储过程中的任何数量和类型的 SQL 语句。一个存储过程的大小最大值为 128 MB。用户定义的存储过程必须创建在当前数据库中。;   2) 存储过程的返回值   (1) 返回状态值 ( 整数 )。使用 return 语句,-99 ~ 0 为系统保留,存储过程成功执行时系统返回“0”,用户可以返回 -99 ~ 0 之外的整数值来反映存储过程的运行状态。   (2) 返回参数值。使用 output 参数,执行存储过程时可以将值返回给 execute 语句中指定的变量。;   ⒉ 使用 SSMS 创建存储过程   操作步骤如下:   (1) 在“对象资源管理器”中展开“数据库”节点,展开要创建存储过程的数据库。   (2) 展开“可编程性”节点,选择“存储过程”选项,右击鼠标弹出快捷菜单,选择“新建存储过程”命令,打开创建存储过程对话框,如图 8-3 所示。;;   (3) 在右侧查询编辑器中出现

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档