文档详情

数据库系统原理与应用08.ppt

发布:2018-01-05约5.92千字共57页下载文档
文本预览下载声明
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 13.3 规则 规则限制了可以存储在表中或者用户定义数据类型的值。 规则与CHECK约束功能基本相同,但一个列只能应用一个规则,却可以应用多个CHECK约束。CHECK可作为CREATE TABLE语句的一部分进行指定,而规则以单独的对象创建,然后绑定到列上。 13.3 规则 第十四章 存储过程 14.1 概述 14.2 创建存储过程 14.3 执行存储过程 14.4 存储过程的参数 14.5 存储过程的管理 14.1 概述 存储过程是在数据库服务器端执行的一组T-SQL语句的集合,经编译后存放在数据库服务器端。 SQL Server 2005提供3种存储过程: 用户存储过程:用户编写的可重复用的T-SQL功能模块 系统存储过程:由系统提供,常用sp_为前缀 扩展存储过程:用户使用编程语言创建的外部例程 14.2 创建存储过程 1.使用SQL Server管理控制器创建 14.2 创建存储过程 2.使用CREATE PROCEDURE创建 CREATE PROC[EDURE] 存储过程名 [;number] [{@parameter data_type} [VARYING] [=default] [OUTPUT] ][,…n] [WITH {RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTION} ] [FOR REPLICATION] AS sql_statement […n] 14.2 创建存储过程 例:创建存储过程stud_degree用于检索所有学生的成绩记录 14.3 执行存储过程 [EXEC[UTE]] [@return_status = ] {存储过程名 [;number]| @procedure_name_var} [[@parameter=]{value | @variable [OUTPUT] | [DEFAULT]] [,…n] [WITH RECOMPILE] 其中OUTPUT指定存储过程必须返回一个参数 DEFAULT根据过程的定义提供参数的默认值 WITH RECOMPILE强制编译新的计划 14.3 执行存储过程 例:执行存储过程stud_degree 14.4 存储过程的参数 1.在存储过程中使用参数 例:设计存储过程maxno,以学号为参数,输出指定学号学生的所有课程中最高分和对应的课程名。 14.4 存储过程的参数 执行存储过程 方式1:EXEC maxno 105 方式2:EXEC maxno @no=105 14.4 存储过程的参数 2.在存储过程中使用默认参数 例:设计存储过程maxno1,以学号为参数,学号默认为101,输出指定学号学生的所有课程中最高分和对应的课程名。 14.4 存储过程的参数 3.在存储过程中使用返回参数 例:设计存储过程average,返回指定学号的代表姓名和平均分的2个参数@st_name、@st_avg 表示返回参数 14.4 存储过程的参数 例:设计存储过程stud1_degree,能根据学号和课程号来返回成绩等级。 14.4 存储过程的参数 4.存储过程的返回值 存储过程在执行后会返回一个整型值,如为0则表示执行成功,如为负则表示出错。 例:EXEC @i = stud1_degree 101, 3-105, @dj OUTPUT 14.5 存储过程的管理 1.查看存储过程 使用SQL Server管理控制器 使用系统存储过程 sp_help name 显示存储过程的参数及数据类型 sp_helptext name 显示存储过程的源代码 sp_depends name 显示和存储过程相关的数据库对象 sp_stored_procedures 返回当前数据库中的存储过程列表 14.5 存储过程的管理 2.修改存储过程 ALTER PROC[EDURE] 存储过程名[参数列表] AS sql_statement 3.重命名存储过程 sp_rename 原存储过程名,新存储过程名 4.删除存储过程 DROP PROCEDURE 存储过程列表 自学要求与上课安排 ●自学与上机内容: 自学第15章 ●上机内容: 完成上机实习:做完上机练习7的第七部分。 做的快的同学可做上机练习7的第八部分。 上机练习5 14. 编写一个程序交叉表查询的程序,生成下图的成绩大表查询。 方法1: 利用SLELECT中PIVOT用于将列值旋转为列名(即行转列) 语法: table_source PIVOT(
显示全部
相似文档