SOL Server 2000 数据库应用技术
SQL Server 2000 数据库应用技术
SQL SERVER2000数据库应用技术构架 1-3章 数据库基础与 SQL Server概述 系统基础篇 系统组成与服务器管理 数据库管理与数据完整性 SQL Server 2000是一个 4-10章 表与视图的管理 性能优越、 SQL技术篇 Transact-SQL语言与数据查询 面向客户/服 务器的关系四大模块 存储过程与触发器 型网络数据 游标与安全管理 库管理系统 11-15章 支持多种操 系统管理篇 数据备份与恢复 作系统平台 数据库复制与数据转换 SQL Server数据的网页发布 16-18章 应用实施篇 VB/ SQL Server应用程序开发 SQL SERⅤER2000应用实例
SQL SERVER 2000 数据库应用技术构架 SQL Server 2000是一个 性能优越、 面向客户/服 务器的关系 型网络数据 库管理系统 支持多种操 作系统平台 四大模块 SQL Server数据的网页发布 16-18 章 应用实施篇 数据库基础与SQL Server 概述 数据库管理与数据完整性 表与视图的管理 存储过程与触发器 1-3 章 系统基础篇 4-10 章 SQL技术篇 VB/SQL Server应用程序开发 教参 SQL SERVER 2000应用实例 系统组成与服务器管理 Transact-SQL 语言与数据查询 游标与安全管理 数据库复制与数据转换 数据备份与恢复 11-15 章 系统管理篇
個课程概要 第一章数据库基础 第二章 SQL Server2000概述 笫三章统组成与服务器管理 第四章数据摩管理 第五 数据完整性 第六章表的管理与使用 第七章视 图 第八章 ransact-SQL语言 第九章数据查詢 第十章存储过程与触发景 第 游 标 第十 安全管理 第十 数据备份与恢复 第十吗章数据库复制 第十五章数据转换 第十六章 SQL Server数据的网页发布 第十七章B/ SQL Server应用程序开发 第十章 SQL Server2000应用实例
第 一 章 课程概要 数据库基础 第 二 章 SQL Server 2000概述 第 三 章 系统组成与服务器管理 第 四 章 数据库管理 第 五 章 数据完整性 第 六 章 表的管理与使用 第 七 章 视 图 第 八 章 Transact-SQL 语言 第 九 章 数据查询 第 十 章 存储过程与触发器 第十一章 游 标 第十二章 安全管理 第十三章 数据备份与恢复 第十四章 数据库复制 第十五章 数据转换 第十六章 SQL Server数据的网页发布 第十七章 VB / SQL Server应用程序开发 第十八章 SQL Server 2000应用实例
第10章存储过程与触发器 10-1存储过程 10-2触发器 10-3存储过程与触发应用 10-4本章小结 在大型数据库系统中,存储过程和触发器具有很 重要的作用。存储过程是SQ语句和控制流语句组成的 集合,触发器是一种特殊的存储过程。本章主要介绍存 储过程和触发器的概念,优点和基本操作
第10章 存储过程与触发器 10-1 存储过程 10-2 触发器 10-3 存储过程与触发应用 10-4 本章小结 在大型数据库系统中,存储过程和触发器具有很 重要的作用。存储过程是SQL语句和控制流语句组成的 集合,触发器是一种特殊的存储过程。本章主要介绍存 储过程和触发器的概念,优点和基本操作
10-1存储过程 10-1-1存储过程基础 10-1-2创建存储过程 10-1-3管理存储过程 10-1-4修改存储过程 10-1-5执行存储过程 10-1-6删除存储过程
10-1-1 存储过程基础 10-1-2 创建存储过程 10-1-3 管理存储过程 10-1-4 修改存储过程 10-1-5 执行存储过程 10-1-6 删除存储过程 10-1 存储过程
10-1-1存储过程基础 定义:存储过程( stored procedure)是SQL语句和可选挫制流语 句的预编译集合, SQL Server会将该集合中的语句编译成一个执行单位。 存储过程可包含程序流、逻辑以及对数据库的査询。可以接受输入参数、输 出参数、返回单个或多个结果集以及返回值。可源于任何使用SQL语句的 目的来使用存储过程 它具有以下优点: 1可以在单个存储过程中执行一采列SQL语句。 2可以从自己的存储过程内引用其它存储过程,这可以简化一列复杂语 3存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语 句快。 存储过程虽然既有参数又有返回值,但是它与函数不同。存储过程的返回值 只是指明执行是否成功,并且它不能像囪数那样被直接用在表达式中。 存储过程分为三种类型 1系统存储过程 2扩展存储过程 3用户自定义存储过程
定义: 存储过程(stored procedure) 是SQL 语句和可选控制流语 句的预编译集合,SQL Server 会将该集合中的语句编译成一个执行单位。 存储过程可包含程序流、逻辑以及对数据库的查询。可以接受输入参数、输 出参数、返回单个或多个结果集以及返回值。可源于任何使用 SQL 语句的 目的来使用存储过程. 它具有以下优点: 1 可以在单个存储过程中执行一系列 SQL 语句。 2 可以从自己的存储过程内引用其它存储过程,这可以简化一系列 复杂语 句。 3 存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语 句快。 存储过程虽然既有参数又有返回值,但是它与函数不同。存储过程的返回值 只是指明执行是否成功,并且它不能像函数那样被直接用在表达式中。 存储过程分为三种类型: 1 系统存储过程 2 扩展存储过程 3 用户自定义存储过程 10-1-1 存储过程基础
10-1-2创建存储过程 SQL Server存储过程是用 Transact-SQL语句 CREATE PROCEDURE创建的,并可用 ALTER PROCEDURE语句 进行修改。 存储过程定义主要包含过程名及其参数的说明和过程的主体 (其中包含执行过程操作 Transact-SQL语句)两部分。 可以创建一个过程供永久使用,或在一个会话中临时使用 (局部临时过程),或在所有会话中临时使用(全局临时过 程)。 在 SQL Server中,可以使用三种方法创建存储过程: 1用 Transact-SQL语句中的 CREATE PROCEDURE命合创 建存储过程。 2用 SQL Server企业管理器创建存储过程。 3用创建存储过程向导创建存储过程
SQL Server 存储过程是用 Transact-SQL语句 CREATE PROCEDURE 创建的,并可用 ALTER PROCEDURE 语句 进行修改。 存储过程定义主要包含过程名及其参数的说明和过程的主体 (其中包含执行过程操作Transact-SQL 语句)两部分。 可以创建一个过程供永久使用,或在一个会话中临时使用 (局部临时过程),或在所有会话中临时使用(全局临时过 程)。 在SQL Server中,可以使用三种方法创建存储过程 : 1 用Transact-SQL语句中的CREATE PROCEDURE命令创 建存储过程。 2 用SQL Server 企业管理器创建存储过程。 3 用创建存储过程向导创建存储过程。 10-1-2 创建存储过程
1.用T-SQL语句创建存储过程 用 CREATE PROCEDURE创建存储过程的语法形式如下: CREATE PROC[ EDURE]存储过程名[; number] t@parameter data_ type varying[= default I LOUTPUT[,n L WITH RECOMPILE ENCRYPTION RECOMPILE ENCRYPTION J I FOR REPLICATION I AS sql_statement [.n I 创建存储过程时,需要确定存储过程的三个组成部分 1所有输入参数以及传给调用者的输出参数。 2被执行的针对数据库的操作语句,包括调用其它存储过程的语句。 3返回给调用者的状态值,以指明调用是成功还是失败
用CREATE PROCEDURE创建存储过程的语法形式如下: CREATE PROC [ EDURE ] 存储过程名 [; number ] [ { @parameter data_type }[ VARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sql_statement [ ...n ] 创建存储过程时,需要确定存储过程的三个组成部分: 1 所有输入参数以及传给调用者的输出参数。 2 被执行的针对数据库的操作语句,包括调用其它存储过程的语句。 3 返回给调用者的状态值,以指明调用是成功还是失败 1.用T-SQL语句创建存储过程
参数说明 number:是可选的整数,用来对同名的过程分组,以便用一条 ODO动0给00 DROP PROCEDURE语句即可将同组的过程一起删除。 VARYING:用于指定作为输出参数支持的结果集(由存储过程 态构造,内容可以变化),该选项仅用于游标参数。 OUTPUT:是一个返回参数,使用该选项的参数可把信息返回 调用过程 WITH RECOMPILE∶表示该过程在运行时将重新编译。 WITH ENCRYPTION:表示加密选项被指定,用户无法浏览 syscommerits系统表中存放的定义且无法将其解密,该选项防止把过程 作为 SQLServer复制的一部分发布。 FOR REPLICATION:指定存储过程筛选,只能在复制过程中 执行 AS:指定过程执行的操作 sql_statement:是存储过程中要包含的任意数目和类型的 Transact-SQL语句
Ø number:是可选的整数,用来对同名的过程分组,以便用一条 DROP PROCEDURE 语句即可将同组的过程一起删除。 Ø VARYING:用于指定作为输出参数支持的结果集(由存储过程 动态构造,内容可以变化),该选项仅用于游标参数。 Ø OUTPUT:是一个返回参数,使用该选项的参数可把信息返回 给调用过程; Ø WITH RECOMPILE:表示该过程在运行时将重新编译。 Ø WITH ENCRYPTION:表示加密选项被指定,用户无法浏览 syscommerits系统表中存放的定义且无法将其解密,该选项防止把过程 作为SQLServer复制的一部分发布。 Ø FOR REPLICATION:指定存储过程筛选,只能在复制过程中 执行。 Ø AS:指定过程执行的操作。 Ø sql_statement:是存储过程中要包含的任意数目和类型的 Transact-SQL语句。 参数说明:
2用 SQL Server企业管理器创建存储过程 【例10-1】创建一个带 SELECT查询语句的名为“第一个存储过程”的存储过程 存储过程只能建立在当前数据库上,故需先用USE语句来指定数据库。在【存 储过程属性一新建存储过程】脔口的编辑框中,使用存储过程的名称来代替 [OWNR].[ PROCEDURE NAME],在本例中,即为“查询成绩表”,然后编辑该 存储过程的内容。下图为编辑好的查询成绩表存储过程。 存过卷遥性一新建存过程 存储过栏性一新建有过程 常规 需规 团 名称 Q存储过程 权E 名称 积速存储过程 所有者 所有者 创日期 睡E期 文丰 文丰 CREATE PROCEDURE (OWNERIFROCEDURE NAME(ASI REATE PROC查河积 ELECT" FROM戌 4517 1.5/5 检查语法 另存为项因 二 另存为孩版 确定 取消 帮助 确定 取消 」帮助」
【例10-1】 创建一个带SELECT查询语句的名为“第一个存储过程”的存储过程。 存储过程只能建立在当前数据库上,故需先用 USE 语句来指定数据库。 在【存 储过程属性-新建存储过程】窗口的编辑框中,使用存储过程的名称来代替 [OWNER].[PROCEDURE NAME],在本例中,即为“查询成绩表”,然后编辑该 存储过程的内容。下图为编辑好的查询成绩表存储过程。 2 用SQL Server 企业管理器创建存储过程