第12章 存储过程

合集下载

Mysql数据库及应用(专,2020春)_第12章作业0

Mysql数据库及应用(专,2020春)_第12章作业0
D.游标位置
答案:BD
13.12-21 、下面关于参数类型的说明正确的是:
A.使用OUT 类型参数可以将存储过程的中值传递回调用他的过程。
B.使用INOUT类型的参数可以将数据传递到存储过程中。
C.使用IN 类型的参数可以将数据传递到存储过程中。
D.使用INOUT类型参数可以将存储过程的中值传递回调用他的过程。
答案:正确
25.12-19 、触发器也可以传递输入和输出参数。
答案:错误
A.OPEN curs_teachers;
B.CALL curs_teachers;
C.CRAETE curs_teachers;
D.DECLARE curs_teachers;
答案:A
8.12-8 、为了增强程序处理问题的能力,避免程序异常停止,可以采用:~
A.自定义变量
B.自定义游标处理程序
试卷总分:100 得分:96
1.12-1 、在一个表中最多能建立 个触发器。
A.2
B.6
C.多
D.1
答案:B
2.12-2 、游标以 的方式集中处理数据,使用游标可以控制对特定行的操作,因而可以提供更多的灵活性。~
A.逐列
B.整体
C.结果集
D.逐行
答案:D
3.12-3 、( )是一组预先写好的能实现某种功能的T-SQL程序代码,指定一个名称并经过编译后将其保存在MySQL服务器中。
A.NEW
B.FIRST
C.END
D.OLD
答案:AC
18.12-12 、游标(Cursor)是指向查询结果集的一个指针,它是通过定义语句与一条UPDATE语句相关联的一组SQL语句,游标使得用户可以逐行访问UPDATE查询语句返回的结果集合,并可以对不同行做不同的操作。

第十二章

第十二章

4
触发器简介
由于触发器在数据修改时自动触发, 由于触发器在数据修改时自动触发,因此触发器根据数据的修改操作可 分为INSERT UPDATE,DELETE三种触发器类型 INSERT触发器在向数 INSERT, 三种触发器类型. 分为INSERT,UPDATE,DELETE三种触发器类型.INSERT触发器在向数 据表中插入数据时触发;UPDATE触发器在表中数据被更新时被触发 触发器在表中数据被更新时被触发; 据表中插入数据时触发;UPDATE触发器在表中数据被更新时被触发; DELETE触发器会被数据表中的数据删除操作触发执行 触发器会被数据表中的数据删除操作触发执行. DELETE触发器会被数据表中的数据删除操作触发执行. 另外,触发器根据执行类型还可被分为AFTER触发器和INSTEAD OF触 另外,触发器根据执行类型还可被分为AFTER触发器和INSTEAD OF触 AFTER触发器和 发器: AFTER触发器只有在激活它的语句 INSERT,UPDATE, 触发器只有在激活它的语句( 发器: AFTER触发器只有在激活它的语句(INSERT,UPDATE,DELETE 操作)执行完后才被启用.例如, UPDATE语句中 只有在UPDATE 语句中, UPDATE语句 操作)执行完后才被启用.例如,在UPDATE语句中,只有在UPDATE语句 执行完之后,触发器才被激活执行.如果UPDATE语句失败, AFTER触发 UPDATE语句失败 执行完之后,触发器才被激活执行.如果UPDATE语句失败,则AFTER触发 器不会被激活.在同一个数据表中可以创建多个AFTER触发器. AFTER触发器 器不会被激活.在同一个数据表中可以创建多个AFTER触发器. INSTEAD OF触发器将在数据变动之前被触发,顾名思义,它将取代变 OF触发器将在数据变动之前被触发,顾名思义, 触发器将在数据变动之前被触发 动数据的操作(INSERT,UPDATE,DELETE操作).例如当对一个具有 操作). 动数据的操作(INSERT,UPDATE,DELETE操作).例如当对一个具有 DELETE类型触发器的数据表进行DELETE操作时 类型触发器的数据表进行DELETE操作时, INSTEAD OF DELETE类型触发器的数据表进行DELETE操作时,DELETE 将不会被执行,该触发器中的语句将取代DELETE操作而被执行( DELETE操作而被执行 将不会被执行,该触发器中的语句将取代DELETE操作而被执行(也许这个 触发器中的语句要做的操作却是对数据表中的数据进行INSERT).在同一 INSERT). 触发器中的语句要做的操作却是对数据表中的数据进行INSERT).在同一 个数据表中,每个INSERT,UPDATE或DELETE语句最多可以定义一个 个数据表中,每个INSERT,UPDATE或DELETE语句最多可以定义一个 INSERT OF触发器 触发器. INSTEAD OF触发器.

2024年作业场所安全使用化学品规定

2024年作业场所安全使用化学品规定

2024年作业场所安全使用化学品规定第一章总则第一条为规范作业场所中化学品的存储、使用和处理, 保障员工的生命安全和身体健康, 根据国家有关法律法规, 制定本规定。

第二条本规定适用于各类作业场所中的化学品的存储、使用和处理。

第三条本规定所称化学品, 是指化学性质较为稳定, 能通过化学反应而产生危险的物质, 包括但不限于有毒物质、易燃物质、易爆物质等。

第四条作业场所应成立安全使用化学品的管理机构, 负责化学品的管理和安全监督。

第五条作业场所应根据其生产经营特点, 制定相应的化学品安全管理办法, 并组织实施。

第二章化学品的储存第六条作业场所应按照化学品的性质和特点, 合理划分存储区域。

不同种类的化学品应分别存放, 严禁混放。

第七条存储化学品的仓库应符合防火、防爆、防毒和通风的要求, 必要时应配备专用的消防设施。

第八条存储区域应设置明显的标志, 标明储存的化学品种类和相关的安全提示。

第九条化学品的存储应按照包装标识上的要求进行, 不得将化学品直接倒入其他容器、袋子或水桶中。

第十条存储过程中, 应定期检查化学品的包装是否完好, 如发现包装破损、泄漏等安全隐患, 应及时处理和更换容器。

第三章化学品的使用第十一条使用化学品的操作人员应经过专门培训, 具备一定的专业知识和技能, 能够正确识别、处理和处置化学品。

第十二条使用化学品时, 应佩戴个人防护装备, 包括但不限于防护眼镜、防护口罩、防护手套等。

第十三条在使用化学品的过程中, 应严格遵守操作规程, 不得违反标识和说明书的要求, 不得私自调整化学品的配制比例。

第十四条使用化学品时应保持工作环境干燥、通风良好, 不得与明火或其他易燃物质接触。

第十五条在使用化学品时, 应及时清理工作台面和周围的化学品残留物, 避免交叉污染。

第十六条使用化学品的容器和器材应定期检查和清洗, 严禁混用不同种类的化学品容器。

第四章化学品的处理第十七条作业场所应建立废弃化学品的收集、储存和处置制度, 确保废弃化学品的安全处理和环境保护。

数据库应用技术(第二版)习题参考答案

数据库应用技术(第二版)习题参考答案

第一章:1、订单管理系统的功能有哪些?答:订单管理系统的功能主要有客户查询商品信息、客户预订商品并提交订单、销售人员处理客户的订单信息、销售人员管理商品信息、客户信息等。

2、说明ER模型的作用?答:ER模型(实体关系模型)是描述概念世界,建立概念世界的工具,ER方法把管理系统所要描述的问题划分为单个的实体,通过实体间的联系实现有效、自然地模拟现实世界。

3、什么是关系模型?关系的完整性包括哪些内容?答:关系模型就是用二维表格结构来表示实体及实体之间联系的模型,关系模型包括四类完整性:域完整性、实体完整性、参照完整性和用户定义的完整性。

4、按照功能,SQL语言分为哪4部分?答:按照功能,SQL语言分为数据定义语言、查询语言、数据操纵语言、数据控制语言。

5、规范化范式是依据什么来划分的?它与一事一地的原则有什么联系?答:规范化范式根据一个关系满足数据依赖的程度不同,可规范化为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。

规范化范式遵循一事一地的原则,将描述一个独立事物的属性组成一个关系。

第二章:1、SQL Server 2005有哪些新增特性?答:SQL Server 2005的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。

企业数据管理体现在高可用性、管理工具、安全性和可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强和SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。

2、SQL Server 2005安装的软件和硬件环境是什么?答:SQL Server 2005安装的软件和硬件环境参见教材表2-3、2-4、2-5、2-6。

3、SQL Server 2005有哪些版本?有哪些服务组件?答:SQL Server 2005包括企业版、标准版、工作组版、开发版和简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。

《SQL Server 2000》网络课程同步练习与模拟试题

《SQL Server 2000》网络课程同步练习与模拟试题

同步练习题第1章数据库基础知识一、单项选择题1. 通常所说的数据库系统(DBS)、数据库管理系统(DBMS)、和数据库(DB)三者之间的关系是A. DBMS包含DB和DBSB. DB包含DBS和DBMSC. DBS包含DB和DBMSD.三者无关答案:A2.数据是信息的载体,信息是数据的A. 符号化表示B. 载体C. 内涵D. 抽象答案:C3. 下列说法不正确的是A. 数据库避免了一切数据重复B. 数据库减少了数据冗余C. 数据库数据可为经DBA认可的用户共享D. 控制冗余可确保数据的一致性答案:A4.在数据库中,产生数据不一致的根本原因是A. 没有严格保护数据B. 数据存储量太大C. 数据间联系弱D. 数据冗余答案:D5.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为A. 数据定义功能B. 数据管理功能C. 数据操纵功能D. 数据控制功能答案:C6.E-R模型是数据库设计的工具之一,它一般适用于建立数据库的A. 概念模型B. 结构模型C. 物理模型D. 逻辑模型答案:A7. 当实体中有多个属性可作为键而选定其中一个时,称为该实体的A. 外部键B. 候选键C. 主键D. 主属性答案:C8. 如某属性虽非该实体主键,却是另一实体的主键,称此属性为A. 外部键B. 候选键C. 主键D. 主属性答案:A9.自然连接是构成新关系的有效方法。

一般情况下,当对关系R和S使用自然联接时,要求R和S含有一个或多个共有的A. 元组B.行C. 记录D.属性答案:D10.关系模型中的关系模式至少是A.1NF B.2NFC.3NF D.BCNF答案:A11.候选关键字中的属性称为A.非主属性B.主属性C.复合属性D.关键属性答案:B12.关系模式中各级模式之间的关系为A.3NF⊂2NF⊂lNF B.3NF⊂lNF⊂2NFC.1NF⊂2NF⊂3NF D.2NF⊂lNF⊂3NF答案:A13. 数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作的是A. 建立库结构B.扩充功能C. 加载数据D.系统调试答案:B14.从E-R模型向关系模型转换,一个M:N的联系转换成关系模式时,该关系模式的键是A. M端实体的键B. N端实体的键C. M端实体键与N端实体键组合D. 重新选取其他属性答案:C15.数据库逻辑设计的主要任务是A. 建立E-R图和说明书B.创建数据库模式C. 建立数据流图D. 把数据送入数据库答案:B二、填空题1.要满足基本应用,一个数据库系统通常应提供给用户使用的基本语言有和。

12章-数据库管理系统-数据库系统概论(第五版)

12章-数据库管理系统-数据库系统概论(第五版)

进程间总的通信开销上升
操作系统的负担增大,空间、时间效率不高
DBMS必须设立并维护若干后台进程,增加了进程切换
要访问的数据不在内存时会造成性能问题
临界区问题(Critical Section)
❖ 适用情况
用户数不庞大(非OLTP应用):Oracle 7之前版本, Ingres,
Informix早期版本
12.2.1 N方案:DBMS与应用程序相融合的方案
❖ 优点
没有进程切换开销 实现比较简单
❖ 缺点
内存的需求量比较大:多DBMS副本 代码冗余使系统性能下降
❖ 适用情况
用户数少的小型DBMS
An Introduction to Database System
12.2 DBMS进程结构和多线索机制
An Introduction to Database System
12.2.2 2N方案:一个DBMS进程对应一个用户进程
❖ 解决N方案中DBMS代码段在内存中不能被共享
应用程序与DBMS副本分开 2N方案
❖ 一用户一进程(Shadow进程)
N个用户进程---N个DBMS进程(共2N个进程)
An Introduction to Database System
12.2.1 N方案:DBMS与应用程序相融合的方案 12.2.2 2N方案:一个DBMS进程对应一个用户进程 12.2.3 N+1方案:一个DBMS进程对应所有用户进程 12.2.4 N+M方案:M个DBMS进程对应N个用户进程 12.2.5 多线索(Multi_Threaded) DBMS的概念
12.2.3 N+1方案:一个DBMS进程对应所有用户进程
❖ 优点

Oracle12c中文版数据库管理、应用与开发实践教程附录思考与练习答案

Oracle12c中文版数据库管理、应用与开发实践教程附录思考与练习答案

二、选择题
1.A 3.A
2.B 4.C
5.A
第 7 章 PL/SQL 编程基础
一、填空题
1.DECLARE 3.%TYPE 5./ 7.隔离性
2.CONSTANT 4.120 6.GOTO
二、选择题
1.B 3.C 5.D
2.A 4.A
第 8 章 内置函数
一、填空题
1.123EFG321 2.G3 3.CONCAT() 4.TRUNC() 5.SYSDATE 6.DROP FUNCTION
二、选择题
1.B 3.C 5.A 7.A
2.A 4.B 6.C
第 12 章 其他的数据库对象
一、填空题
1.WITH CHECK OPTION 2.位图索引 3.NEXTVAL 4.私有 Oracle 同义词 5.相对文件号
附 录
411
412
Oracle 12c 中文版数据库管理、应用与开发实践教程
第 2 章 Oracle 数据库管理工具
一、填空题
1.1521 3.lsnrctl status 5.DEFINE
2.tnsnames.ora 4.DESC 6.DISCONNECT
二、选择题
1.C 3.C 5.C
2.D 4.A 6Leabharlann B第 5 章 多表查询和子查询
一、填空题
1.全外连接
2.自连接
3.INTERSECT 4.INNER JOIN
附录 思考与练习答案
第 1 章 Oracle 12c 简介
一、填空题
1.标准版 1 3.PGA 5.服务器进程
2.数据库主服务 4.数据库缓冲区 6.配置参数文件
二、选择题
第 4 章 单表查询

第12章 vb与数据库(1)

第12章 vb与数据库(1)
结束

080101 080102 080103 080104 …
张姗姗 李四明 王耀五 赵刘生 …
3.关系型数据库的基本概念 3.关系型数据库的基本概念 (1) 数据表 数据表是一组相关联的数据按行和列排列形 成的二维表格,简称为表。每个数据表都有 一个表名,一个数据库由一个或多个数据表 组成,各个数据表之间可以存在某种关系。 (2)字段 (2)字段 数据表一般都是多行和多列构成的集合。每 一列称为一个字段(Field),是具有相同 数据类型的集合,字段名是它所对应表格中 的数据项的名称。
② Delete方法 Delete方法 用于在ADO 数据控件的记录集中删除当前 记录 MoveFirst、MoveLast、MoveNext和 ③ MoveFirst、MoveLast、MoveNext和 MovePrevious方法 MovePrevious方法: 方法: 用于在ADO数据控件的记录集中移动记录。 ④ UpdateBatch方法: UpdateBatch方法 方法: 用于保存ADO数据控件的记录集中添加或 编辑操作。
用来设置ADO Data控件和数据库连接的连 接字符串。该字符串和参数格式及内容与 所选驱动器程序有关。 通过这个连接字符串可以建立与数据源的 连接信息,实现ADO控件与相应的数据库 进行连接。 通常通过“属性页”对话框进行该属性的 设置。
结束
(2)RecordSource属性 RecordSource属性
结束
12.1 数据库基础概念
1.数据与数据库 1.数据与数据库 数据:英文为data,是信息的具体物理表 示,是载荷信息的物理符号。 数据经过处理、组织并赋予一定意义后即 可以成为信息。 数据库:英文为Data Base,简称DB,是指 存储在计算机存储介质上的、有一定组织 形式的、可共享的、相互关联的数据集合。

数据库技术与应用——VisualFoxPro6.0篇课后练习题答案

数据库技术与应用——VisualFoxPro6.0篇课后练习题答案

<<数据库技术与应用——Visual FoxPro 6.0篇>>练习题答案第1章练习题答案1、数据定义、数据操纵2、文件系统阶段、数据库系统阶段3、属性、字段、元组、记录4、关键字5、域6、属性、属性到域的映象7、关系、关系8、投影9、选择运算、投影运算10、连接运算、自然连接三、简答题1、答:数据库(DataBase)是被长期存放在计算机内、有组织的、可以表现为多种形式的可共享的数据集合。

数据库管理系统(DataBase Management System,简称DBMS)是计算机系统软件,它的职能是有效地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。

数据库系统是指拥有数据库技术支持的计算机系统,它可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。

数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

2、答:关系是一张二维表,每个关系有一个关系名。

在计算机中,一个关系可以存储为一个文件。

在Visual FoxPro中,一个关系就是一个表文件。

元组是二维表中水平方向的行,有时也叫做一条记录。

属性是二维表中垂直方向的列,有时也叫做一个字段。

3、答:数据库系统由四部分组成:硬件系统、系统软件、数据库应用系统和各类人员。

4、答:常用的数据模型有层次模型、网状模型和关系模型。

层次模型的特点是:形状象一棵倒立的树,有且仅有一个结点无父结点,这个结点称为根结点,其他结点有且仅有一个父结点。

网状模型的特点是:形状象一张网,允许一个以上的结点无父结点,一个结点可以有多于一个的父结点。

关系模型的特点是:在关系中,数据的逻辑结构是一张二维表。

该表满足每一列中的分量是类型相同的数据;列的顺序可以是任意的;行的顺序可以是任意的;表中的分量是不可再分割的最小数据项,即表中不允许有子表;表中的任意两行不能完全相同。

数据库考试习题及答案 (1)

数据库考试习题及答案 (1)

第一章习题一、判断题1.安装Microsoft SQL Server 2005 企业版对操作系统的最低要求可以是Microsoft Windows XP Professional SP2。

( 错)2.每一个服务器必须属于一个服务器组。

一个服务器组可以包含0个、一个或多个服务器。

(对)二、填空题3. MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Server 服务的图形化工具称为SQLServer 配置管理器。

三、选择题4. 下列系统数据库中,(D)数据库不允许进行备份操作。

A. masterB. msdbC. modelD. Tempdb5. 下列关于SQL Server 2005实例的说法中,正确的是(C)。

A.不同版本的默认实例数可能不一样多B.不同版本的命名实例数一定一样多C.不同版本的默认实例只有一个,命名实例数不一样多D.不同版本的命名实例只有一个,默认实例数不一样多6. 下列(C)数据库是SQL Server 2005在创建数据库时可以使用的模板。

A. masterB. msdbC. model7. 默认情况下,SQL Server 2005的系统数据库有(B)。

A. 1个个 C. 4个个8. 在一台计算机上能安装(A)个默认实例。

A. 1B. 509. 访问默认实例使用(B)作为实例名。

A. 计算机名B. MSSQLSERVER10. 下列叙述中正确的是(A)。

A. SQL SERVER实例是提供服务的, 所以一个SQL Server实例称为一个数据库服务器B. SQL SERVER实例也叫做数据库引擎C. 若计算机上安装多个SQL SERVER实例,则它们可以相互管理11. SQL SERVER 2005实例主要提供哪些服务?(BCD)查询服务 B. 数据库服务C. 集成服务D. 分析服务12. 一台计算机的计算机名为computer,若在该计算机上打开配置管理器看到如图1所示内容,则说明本机上已安装3个实例,其实例名分别是(BCD)A. computerB. MSSQLSERVERC. computer\SQLEXPRESSD. computer\SERVER13. 连接数据库服务器时需要提供哪些信息?(A或者B)A. 要连接的服务器名B. 身份验证信息C. 连接协议信息14. 能否将他人计算机上运行的实例注册到你的SSMS中?(A)A. 不能B. 能四、简答题15. 什么是SQL Server 2005实例,其主要功能有哪些?答:SQL Server 2005 的实例实际上就是虚拟的SQL Server 服务器。

存储过程和存储函数

存储过程和存储函数
在存储过程中,可以把查询结果保存到游标中,并可对结果集中的数据逐 行地进行处理。
游标中的数据保存在内存中,从其中提取数据的速度要比从数据表中直接 提取数据的速度快得多。
游标的使用包括声明游标、打开游标、读取游标、关闭游标。
常州信息职业技术学院
《MySQL数据库应用与管理》
2.创建存储过程和存储函数
➢ (6)游标的使用
示例8-13:创建一个存储过程up_getStuAvgGrade,通过游标操作来计算 某一学生的平均成绩。
常州信息职业技术学院
《MySQL数据库应用与管理》
3.调用存储过程和存储函数
➢ (1)调用存储过程
调用存储过程使用CALL语句。调用后,数据库系统将执行存储过程 中的语句。其语法格式如下:
常州信息职业技术学院
《MySQL数据库应用与管理》
4.查看存储过程和存储函数
使用SHOW STATUS语句查看存储过程和存储函数的状态
SHOW PROCEDURE STATUS [LIKE '存储过程名'] SHOW FUNCTION STATUS [LIKE '存储函数名']
常州信息职业技术学院
常州信息职业技术学院
《MySQL数据库应用与管理》
2.创建存储过程和存储函数
➢ (5)流程控制语句的使用
IF语句
IF <条件表达式1> THEN <语句块1> [ELSEIF <条件表达式2> THEN <语句块2>] … [ELSE <语句块n&据库应用与管理》
➢ (5)流程控制语句的使用
示例8-12:创建一个函数func_sum1,用来计算1+2+3+…+n的和,但不 包括同时能被3和7整除的数。使用WHILE和ITERATE语句来实现。

数据库原理与应用课程教学大纲

数据库原理与应用课程教学大纲

《数据库原理与应用》课程教学大纲一、课程基本信息二、课程目标(一)总体目标:电子商务专业的学生数据库理论够用便可,重要的是掌握数据库领域内的实践动手能力、分析问题和解决问题的能力。

因此,本课程应把培养数据库应用与开发人才作为培养目标,比较系统、完整地讲述数据库的基本原理、基本概念和基本技术,适当介绍当今数据库的新技术和新应用,使学生掌握基础理论;而要求学生熟练掌握的是常用数据库管理系统基本操作、SQL语言,数据库应用系统分析、设计、实施和维护,最终掌握解决实际问题的数据库设计思想和养成良好的数据库程序设计习惯,具备用数据库的知识解决实际问题的能力。

(二)课程目标:学生需要掌握数据库系统的基本原理、方法和应用技术,以便能够有效地使用现有的数据库管理系统和软件开发工具。

此外,他们还需要了解数据库结构的设计以及数据库应用系统的开发方法。

通过这些学习,可以培养学生分析和解决实际问题的能力,以及进行数据库应用系统开发的能力。

课程目标1:数据库设计1.1 数据系统的概述1.2 数据模型1.3 关系型数据设计课程目标2:SQL数据库系统的使用2.1 SQL Server 2012基本知识2.2 数据库的基本操作2.3 数据表的基本操作2.4 数据库查询2.5 T-SQL编程2.6 视图和索引2.7 存储过程和2.8 事务与并发控制2.9 数据库系统的安全性2.10 数据库的备份与还原(要求参照《普通高等学校本科专业类教学质量国家标准》,对应各类专业认证标准,注意对毕业要求支撑程度强弱的描述,与课程目标对毕业要求的支撑关系表一致)(五号宋体)(三)课程目标与毕业要求、课程内容的对应关系表1:课程目标与课程内容、毕业要求的对应关系表三、教学内容第一章数据库系统概述1.教学目标:(1)掌握数据、数据库、数据库管理系统、数据库系统的概念;(2)了解数据库技术的发展;(3)掌握数据库系统的组成和功能以及数据库的体系结构2.教学重难点:数据库系统的基本概念、组成和功能,数据库的体系结构。

2011年四级数据库考点归纳

2011年四级数据库考点归纳

第1章引论考点1 基本概念★★★考点2 数据模型★★★★考点3 数据视图和模式结构★★★★考点4 数据库系统体系结构★★★考点5 数据库管理系统★★★★考点6 数据库技术的发展和应用★★★第2章数据库应用系统生命周期考点1 数据库应用系统生命周期★★★考点2 规划与分析★★★★考点3 需求分析★★★★考点4 系统设计★★★考点5 实现与部署★★★★考点6 运行管理与维护★★★第3章需求分析与功能建模方法考点1 需求分析概述★★★考点2 DFD建模方法★★★★考点3 IDEF0建模方法★★★★考点4 DFD与IDEF0的比较★★★第4章数据库概念设计及数据建模考点1 数据库概念设计概述★★★★★考点2 数据建模方法★★★★考点3 E-R建模方法★★★★考点4 IDEFlX建模方法★★★★第5章关系数据库逻辑设计考点1 概述★★考点2 基本概念★★★★考点3 关系数据库设计理论★★★考点4 数据库模式设计★★★第6章存储技术与数据库物理设计考点1 文件组织★★★★考点2 文件结构与存取★★★★考点3 索引技术★★★★考点4 散列技术★★★考点5 数据字典★★★★考点6 数据库物理设计★★★第7章数据库应用系统功能设计考点1 软件体系结构与设计过程★★★考点2 DBAS总体设计★★★★考点3 概要设计★★★★考点4 详细设计★★★考点5 人机界面设计★★★★第8章关系数据库操作语SQL考点1 SQL支持的数据类型★★考点2 定义和维护关系表★★★★考点3 数据操作语言★★★★考点4 索引★★★考点5 视图★★★★第9章事务调度与并发控制考点1 事务与事务调度★★考点2 基于锁的并发控制技术★★★★考点3 死锁处理★★★★考点4 活锁处理★★★第10章数据库的实施、运行和维护考点1 数据库的实施★★★★★考点2 数据库的运行和维护★★★★考点3 监控分析★★★★-考点4 空间管理★★★考点5 参数调整★★★★考点6 查询优化★★★第11章故障管理考点1 故障的种类及解决方法★★★考点2 数据库恢复技术概述★★★★考点3 数据转储★★★考点4 登记日志文件★★★★考点5 具有检查点的恢复技术★★★考点6 数据库镜像★★★考点7 RAID的恢复技术★★★第12章SQL Server 2000数据库管理系统考点1 SQL Server 2000概述★★★考点2 SQL Server 2000的安装★★★★考点3 创建与管理数据库★★★考点4 Transact-SQL简介★★★考点5 数据传输★★★★第13章数据库对象考点1 存储过程★★★★考点2 用户自定义函数★★★★考点6 数据挖掘技术★★★考点3 触发器★★★★考点4 查看、修改及删除对象★★★第14章安全管理考点1 安全控制★★★考点2 SQL Server的安全控制★★★★考点3 管理SQL Server登录账户★★★★考点4 管理数据库用户★★★考点5 管理权限★★★考点6 角色★★★第15章备份和恢复数据库考点1 备份数据库★★★★考点2 恢复数据库★★★★第16章VB开发环境和数据访问接口考点1 Visual Basic 6.0简介★★★考点2 Visual Basic程序设计基础★★★★考点3 数据绑定控件★★★★考点4 数据访问接口★★★第17章VB数据库应用程序考点1 ADO数据控件★★★★考点2 ADO对象★★★★第18章统一建模语言考点1 统一建模语言简介★★考点2 UML静态建模机制★★★★考点3 UML动态建模机制★★★★第19章分布式数据库、对象数据库和并行数据库考点1 分布式数据库★★★★考点2 对象数据库★★★★考点3 并行数据库★★★★第20章数据仓库和数据挖掘考点1 数据仓库和数据挖掘★★考点2 数据仓库技术概述★★★★考点3 设计和建造数据仓库★★★★考点4 数据仓库的运行与维护★★★考点 5 联机分析处理与多维数据模型★★★★。

数据库原理与应用教程(尹志宇著)课后习题答案下载

数据库原理与应用教程(尹志宇著)课后习题答案下载

数据库原理与应用教程(尹志宇著)课后习题答案下载尹志宇的著作《数据库原理与应用教程》是xx年清华大学出版社出版的图书,作者是尹志宇。

今天要与大家分享的是数据库原理与应用教程(尹志宇著),希望对大家有帮助!点击此处下载数据库原理与应用教程(尹志宇著)课后习题《数据库原理与应用教程:SQLServer》全面讲述数据库的基本原理和SQLServerxx的应用,全书以理论够用、实用,以实践为重点的原则,使读者能够快速、轻松地掌握SQLServer数据库技术与应用。

数据库原理与应用教程中第1~5章讲述数据库的基本理论知识,其内容包括数据库系统概述、数据模型、关系数据库、关系规范化基础、数据库设计。

第6~14章讲述数据库管理系统SQLSetverxx的应用,其内容包括SQLSetverxx数据库基础,Transact-SQL语言基础,数据库和表,数据库查询,索引和视图,存储过程、触发器和游标,事务与并发控制,数据库的备份与还原,数据库的安全管理;第15章利用一个实例介绍基于C#.NET的SQLServer数据库系统开发过程。

为便于学习,每章还配有丰富的习题。

《数据库原理与应用教程:SQLServer》可作为大学本科生“SQLServer数据库”课程的教学用书,也可以作为培养数据库系统工程师的培训教材,还可以作为数据库管理人员及数据库应用系统开发人员的参考用书。

第1章数据库系统概述第2章数据模型第3章关系数据库第4章关系规范化基础第5章数据库设计第6章SQLServerxx基础第7章Transact-SQL语言基础第8章数据库和表第9章数据库查询第10章视图和索引第11章存储过程、触发器和游标第12章事务与并发控制第13章数据库的备份与还原第14章数据库的安全管理第15章基于C#、NET的数据库系统开发参考文献1.数据库原理及应用教程试题及答案2.数据库答案-阳光大学生网3.数据库原理与实践教程模拟试题及参考答案4.数据库原理及应用教程试题及答案。

数据库考试习题及答案

数据库考试习题及答案

第一章习题一、判断题1.安装Microsoft SQL Server 2005 企业版对操作系统的最低要求可以是Microsoft Windows XP Professional SP2。

( 错)2.每一个服务器必须属于一个服务器组。

一个服务器组可以包含0个、一个或多个服务器。

(对)二、填空题3. MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Server服务的图形化工具称为SQLServer 配置管理器。

三、选择题4. 下列系统数据库中,(D)数据库不允许进行备份操作。

A. masterB. msdbC. modelD. Tempdb5. 下列关于SQL Server 2005实例的说法中,正确的是(C)。

A.不同版本的默认实例数可能不一样多B.不同版本的命名实例数一定一样多C.不同版本的默认实例只有一个,命名实例数不一样多D.不同版本的命名实例只有一个,默认实例数不一样多6. 下列(C)数据库是SQL Server 2005在创建数据库时可以使用的模板。

A. masterB. msdbC. modelD.mssqlsystemresoure7. 默认情况下,SQL Server 2005的系统数据库有(B)。

A. 1个B.5个C. 4个D.6个8. 在一台计算机上能安装(A)个默认实例。

A. 1B. 509. 访问默认实例使用(B)作为实例名。

A. 计算机名B. MSSQLSERVER10. 下列叙述中正确的是(A)。

A. SQL SERVER实例是提供服务的, 所以一个SQL Server实例称为一个数据库服务器B. SQL SERVER实例也叫做数据库引擎C. 若计算机上安装多个SQL SERVER实例,则它们可以相互管理11. SQL SERVER 2005实例主要提供哪些服务?(BCD)//全文搜索、报表服务、通知服务A. 查询服务B. 数据库服务C. 集成服务D. 分析服务12. 一台计算机的计算机名为computer,若在该计算机上打开配置管理器看到如图1所示内容,则说明本机上已安装3个实例,其实例名分别是(BCD)A. computerB. MSSQLSERVERC. computer\SQLEXPRESSD. computer\SERVER13. 连接数据库服务器时需要提供哪些信息?(A或者B)A. 要连接的服务器名B. 身份验证信息C. 连接协议信息14. 能否将他人计算机上运行的实例注册到你的SSMS中?(A)A. 不能B. 能四、简答题15. 什么是SQL Server 2005实例,其主要功能有哪些?答:SQL Server 2005 的实例实际上就是虚拟的SQL Server 服务器。

ORACLE_PLSQL存储过程教程

ORACLE_PLSQL存储过程教程

(1)SEQNAME.NEXTV AL里面的值如何读出来?可以直接在insert into test values(SEQNAME.NEXTV AL) 是可以用这样:SELECT tmp#_seq.NEXTV ALINTO id_tempFROM DUAL; 然后可以用id_temp(2)PLS-00103: 出现符号">"在需要下列之一时:代码如下:IF (sum>0)THENbeginINSERT INTO emesp.tp_sn_production_logV ALUES (r_serial_number, , id_temp);EXIT;end;一直报sum>0 这是个很郁闷的问题因为变量用了sum 所以不行,后改为i_sum>0(3)oracle 语法1. Oracle应用编辑方法概览答:1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用;2) ODBC3) OCI: C语言和数据库打交道的方法,和ProC很相似,更底层,很少用;4) SQLJ: 很新的一种用Java访问Oracle数据库的方法,会的人不多;5) JDBC6) PL/SQL: 存储在数据内运行, 其他方法为在数据库外对数据库访问;2. PL/SQL答:1) PL/SQL(Procedual language/SQL)是在标准SQL的基础上增加了过程化处理的语言;2) Oracle客户端工具访问Oracle服务器的操作语言;3) Oracle对SQL的扩充;4. PL/SQL的优缺点答:优点:1) 结构化模块化编程,不是面向对象;2) 良好的可移植性(不管Oracle运行在何种操作系统);3) 良好的可维护性(编译通过后存储在数据库里);4) 提升系统性能;第二章PL/SQL程序结构1. PL/SQL块答:1) 申明部分, DECLARE(不可少);2) 执行部分, BEGIN...END;3) 异常处理,EXCEPTION(可以没有);2. PL/SQL开发环境答:可以运用任何纯文本的编辑器编辑,例如:VI ;toad很好用3. PL/SQL字符集答:PL/SQL对大小写不敏感4. 标识符命名规则答:1) 字母开头;2) 后跟任意的非空格字符、数字、货币符号、下划线、或# ;3) 最大长度为30个字符(八个字符左右最合适);5. 变量声明答:语法V ar_name type [CONSTANT][NOT NULL][:=value];注:1) 申明时可以有默认值也可以没有;2) 如有[CONSTANT][NOT NULL], 变量一定要有一个初始值;3) 赋值语句为“:=”;4) 变量可以认为是数据库里一个字段;5) 规定没有初始化的变量为NULL;第三章1. 数据类型答:1) 标量型:数字型、字符型、布尔型、日期型;2) 组合型:RECORD(常用)、TABLE(常用)、V ARRAY(较少用)3) 参考型:REF CURSOR(游标)、REF object_type4) LOB(Large Object)2. %TYPE答:变量具有与数据库的表中某一字段相同的类型例:v_FirstName studengts.first_name%TYPE;3. RECORD类型答:TYPE record_name IS RECORD( /*其中TYPE,IS,RECORD为关键字,record_name 为变量名称*/field1 type [NOT NULL][:=expr1], /*每个等价的成员间用逗号分隔*/field2 type [NOT NULL][:=expr2], /*如果一个字段限定NOT NULL,那么它必须拥有一个初始值*/... /*所有没有初始化的字段都会初始为NULLfieldn type [NOT NULL][:=exprn]);4. %ROWTYPE答:返回一个基于数据库定义的类型DECLAREv_StuRec Student%ROWTYPE; /*Student为表的名字*/注:与3中定一个record相比,一步就完成,而3中定义分二步:a. 所有的成员变量都要申明; b. 实例化变量;5. TABLE类型答:TYPE tabletype IS TABLE OF type INDEX BY BINARY_INTEGER;例:DECLARETYPE t_StuTable IS TABLE OF Student%ROWTYPE INDEX BY BINARY_INTERGER;v_Student t_StuTable;BEGINSELECT * INTO v_Student(100) FROM Student WHERE id = 1001;END;注:1) 行的数目的限制由BINARY_INTEGER的范围决定;6. 变量的作用域和可见性答:1) 执行块里可以嵌入执行块;2) 里层执行块的变量对外层不可见;3) 里层执行块对外层执行块变量的修改会影响外层块变量的值;第四章1. 条件语句答:IF boolean_expression1 THEN...ELSIF boolean_expression2 THEN /*注意是ELSIF,而不是ELSEIF*/... /*ELSE语句不是必须的,但END IF;是必须的*/ELSE...END IF;2. 循环语句答:1) Loop...IF boolean_expr THEN /* */EXIT; /* EXIT WHEN boolean_expr */END IF; /* */END LOOP;2) WHILE boolean_expr LOOP...END LOOP;3) FOR loop_counter IN [REVERSE] low_blound..high_bound LOOP...END LOOP;注:a. 加上REVERSE 表示递减,从结束边界到起始边界,递减步长为一;b. low_blound 起始边界; high_bound 结束边界;3. GOTO语句答:GOTO label_name;1) 只能由内部块跳往外部块;2) 设置标签:<<label_name>>3) 示例:LOOP...IF D%ROWCOUNT = 50 THENGOTO l_close;END IF;...END LOOP;<<l_close>>;...4. NULL语句答:在语句块中加空语句,用于补充语句的完整性。

第12章 vb与数据库(5)

第12章 vb与数据库(5)
结束
4.使用数据环境设计器 4.使用数据环境设计器 ①添加数据环境设计器 添加数据环境设计器到Visual Basic工程中,数据环 添加数据环境设计器 境设计器中则自动添加一个Connection对象。 ②设置Connection对象的属性 设置 对象的属性 右击Connection对象选择[属性]命令,设置“提供 程序”和“连接”。 ③创建Command对象 创建 对象 右击Connection对象选择[添加命令]命令,即可创 建和Connection对象相关联的Command对象到数 据环境设计器中。
Visual basic
程序设计
第十二章 vb与数据库(5) vb与数据库 12章 VB与数据库应用 与数据库应用(
12.8
数据环境设计器
12.9
数据视图
12.10
数据报表设计器
结束
本节主要介绍使用数据 环境设计器、数据视图和数 据报表使用的方法。
结束
结束
3. 创建数据报表 创建数据报表 ①添加数据报表
选择[工程]/[添加 Data Report]命令,则添加一个 数据报表(默认名为DataReport1) 如果设计器不在[工程]菜单上,单击[工程]/[部件]命 令。在“设计器”选项卡,选择“Data Report"。
②设置 DataReport 对象的属性
结束
Private Sub Command1_Click(Index As Integer) Select Case Index Case 0 datev.rscommand1.MoveFirst Case 1 datev.rscommand1.MovePrevious If datev.rscommand1.BOF Then datev.rscommand1.MoveFirst End If

数据库系统原理课后习题参考答案

数据库系统原理课后习题参考答案

~第一章数据库系统概述选择题B、B、A简答题1.请简述数据,数据库,数据库管理系统,数据库系统的概念。

P27数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。

数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。

数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。

《数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。

2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。

数据共享性高数据冗余小易于保证数据一致性数据独立性高可以实施统一管理与控制减少了应用程序开发与维护的工作量…3.请简述数据库系统的三级模式和两层映像的含义。

P31答:数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。

两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。

4.请简述关系模型与网状模型、层次模型的区别。

P35使用二维表结构表示实体及实体间的联系建立在严格的数学概念的基础上概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用【存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。

第二章关系数据库选择题C、C、D简答题1.请简述关系数据库的基本特征。

P48答:关系数据库的基本特征是使用关系数据模型组织数据。

2.请简述什么是参照完整性约束。

P55¥答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K 相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。

3.请简述关系规范化过程。

答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。

一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。

SQL Server数据库应用开发技术 第12章

SQL Server数据库应用开发技术  第12章
返回目录
12.2 备份数据库
12.2.2 创建和管理备份设备
2.创建磁盘备份设备 (1)利用SQL Server Management Studio创建备份设备 1)打开 SQL Server Management Studio。 2)在对象资源管理器中,单击服务器名称以展开服务器树。 3)展开“服务器对象”,然后右键单击“备份设备”,在快捷菜 单中单击“新建备份设备” 。 4)在随后打开 “备份设备”对话框中,输入设备的名称(逻辑 设备名),单击“文件”并指定该文件的完整路径(物理设备 名)。 5)单击“确定”按钮完成设备的创建。
1.备份设备 (3)物理和逻辑设备
物理备份设备是操作系统用来标识备份设备的名称,例如: d:\backups\student\full.bak
逻辑备份设备是用户为物理备份设备定义的别名,用来标识物理备 份设备。例如,上述物理设备的逻辑设备名称可以是: student_backup
备份或还原数据库时,物理备份设备名称和逻辑备份设备名 称可以互换使用。
返回目录
12.2 备份数据库
12.2.3 执行备份
3.通过备份设备来备份数据库 1)打开SQL Server Management Studio。 2)在对象资源管理器中展开服务器实例。 3)展开“服务器对象”、“备份设备”。 4)在要创建数据库备份的备份设备上右击,选择“备份数据库”。 5)弹出“备份数据库”对话框,在该对话框的“目标”区域里已经 自动添加了该备份设备,设置其它备份属性。 6)选择“确定”开始备份。
【例12.1】 添加一个名为 dump1 的磁盘备份设备,其物理位置为 d:\backup\dump1.bak。
返回目录
12.2 备份数据库
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第12章存储过程12.1 存储过程概述存储过程是一种命名PL/SQL程序块,它将一些相关的SQL语句,流程控制语句组合在一起,用于执行某些特定的操作或者任务。

将经常需要执行的特定的操作写成过程,通过过程名,就可以多次调用过程,从而实现程序的模块化设计,这种方式提高了程序的效率,节省了用户的时间。

存储过程具有以下特点:●存储过程在服务器端运行,执行速度快。

●存储过程增强了数据库的安全性。

●存储过程允许模块化程序设计。

●存储过程可以提高系统性能。

12.2 存储过程的创建和调用12.2.1 创建存储过程1. 通过PL/SQL 语句创建存储过程PL/SQL创建存储过程使用的语句是CREATE PROCEDURE。

语法格式:CREATE [OR REPLACE] PROCEDURE <过程名> /*定义过程名*/[ (<参数名> <参数类型> <数据类型> [ DEFAULT <默认值>] [, …n])]/*定义参数类型及属性*/{ IS | AS }[<变量声明>] /*变量声明部分*/BEGIN<过程体> /*PL/SQL过程体*/END [<过程名>][;]说明:(1)OR REPLACE:如果指定的过程已存在,则覆盖同名的存储过程。

(2)过程名:定义的存储过程的名称。

(3)参数名:存储过程的参数名必须符合有关标识符的规则,存储过程中的参数称为形式参数(简称形参),可以声明一个或多个形参,调用带参数的存储过程则应提供相应的实际参数(简称实参)。

(4)参数类型:存储过程的参数类型有IN、OUT和IN OUT 三种模式,默认的模式是IN模式。

●IN:向存储过程传递参数,只能将实参的值传递给形参,在存储过程内部只能读不能写,对应IN模式的实参可以是常量或变量。

●OUT:从存储过程输出参数,存储过程结束时形参的值会赋给实参,在存储过程内部可以读或写,对应OUT模式的实参必须是变量。

●IN OUT:具有前面两种模式的特性,调用时,实参的值传递给形参,结束时,形参的值传递给实参,对应IN OUT模式的实参必须是变量。

(5)DEFAULT:指定IN参数的默认值,默认值必须是常量。

(6)过程体:包含在过程中的PL/SQL 语句。

存储过程可以带参数,也可以不带参数。

【例12.1】创建一个不带参数的存储过程spTest,输出Hello Oracle。

CREATE OR REPLACE PROCEDURE spTest /*创建不带参数的存储过程*/ASBEGINDBMS_OUTPUT.PUT_LINE('Hello Oracle');END;【例12.2】创建一个带参数的存储过程spTc,查询指定学号学生的总学分。

CREATE OR REPLACE PROCEDURE spTc(p_sno IN CHAR)/*创建带参数的存储过程, p_sno参数为IN模式*/AScredit number;BEGINSELECT tc INTO creditFROM studentWHERE sno=p_sno;DBMS_OUTPUT.PUT_LINE(credit);END;2. 通过SQL Developer图形界面方式创建存储过程【例12.3】通过图形界面方式创建存储过程spTc,用于求102课程的平均分。

(1)启动”SQL Developer”,在”连接”节点下打开数据库连接”sys_stsys”,选择并展开“过程”节点,右单击该节点,在弹出的快捷菜单中选择”创建过程”命令,出现”创建PL/SQL 过程”对话框,如图12.1所示。

(2)在“名称”文本框中输入存储过程的名称,这里是spTc,单击“+”按钮添加一个参数,在“Name”栏输入参数名称p_sno,在“Type”栏选择参数的类型CHAR,在“Mode”栏选择参数的模式IN(3)单击“确定”按钮,在spTc过程的编辑框中编写PL/SQL语句,完成后单击“编译”按钮完成过程的创建。

12.2.2 存储过程的调用存储过程的调用可采用PL/SQL语句,通过EXECUTE(或EXEC)语句可以调用一个已定义的存储过程。

语法格式:[ { EXEC | EXECUTE } ] <过程名>[ ( [<参数名> =>] <实参> | @<实参变量> [,…n]) ] [;]12.2.2 存储过程的调用说明:(1)可以使用EXECUTE(或EXEC)语句调用已定义的存储过程。

但在PL/SQL块中,可以直接使用过程名调用。

(2)对于带参数的存储过程,有以下三种调用方式:●名称表示法:调用时按形参的名称和实参的名称对应调用。

●位置表示法:调用时按形参的排列顺序调用。

●混合表示法:将名称表示法和位置表示法混合使用。

1)使用EXECUTE语句调用和使用PL/SQL语句块调用存储过程【例12.4】调用存储过程spTest。

(1)使用EXECUTE语句调用EXECUTE spTest;运行结果:Hello Oracle(2)使用PL/SQL语句块调用BEGINsptest;END;运行结果:Hello Oracle2)在带参数的存储过程中,使用位置表示法调用和使用名称表示法调用【例12.5】调用带参数的存储过程sptc。

(1)使用位置表示法调用带参数的存储过程EXECUTE spTc('121001');该语句使用位置表示法调用带参数的存储过程spTc,省略了”<参数名>=>”格式,但后面的实参顺序必须和过程定义时的形参顺序一致。

运行结果:52(2)使用名称表示法调用带参数的存储过程EXECUTE spTc(p_sno=>'121001');该语句使用名称表示法调用带参数的存储过程spTc,使用了”<参数名>=><实参>”格式。

运行结果:5212.2.3 存储过程的删除语法格式:DROP PROCEDURE [<用户方案名>.] <过程名>;【例12.6】删除存储过程spTc。

DROP PROCEDURE spTc;12.3 存储过程的参数12.3.1 带输入参数存储过程的使用【例12.7】创建一个带输入参数存储过程spCourseMax,输出指定学号学生的所有课程中的最高分。

(1)创建存储过程CREATE OR REPLACE PROCEDURE spCourseMax (p_sno IN CHAR)/*创建存储过程spCourseMax, 参数p_sno是输入参数*/ASv_max number;BEGINSELECT MAX(c.grade) INTO v_maxFROM student a, course b, score cWHERE a.sno=c.sno AND o=o AND a.sno=p_snoGROUP BY a.sno;DBMS_OUTPUT.PUT_LINE(p_sno||'学生的最高分是'||v_max);END;12.3.1 带输入参数存储过程的使用(2)调用存储过程EXECUTE spCourseMax ('121001');在调用存储过程时,采用按位置传递参数,将实参值’121001’传递给输入参数p_sno并输出该学号学生的所有课程中的最高分。

运行结果:121001学生的最高分是94【例12.8】设st2表结构已创建,含有4列stno、stname、stage、stsex,创建一个带输入参数存储过程spInsert,为输入参数设置默认值,在st2表中添加学号1001~1008。

(1)创建存储过程CREATE OR REPLACE PROCEDURE spInsert(p_low IN INT:=1001,p_high IN INT:=1008)/*创建存储过程spInsert, 输入参数p_low设置默认值1001, 输入参数p_ high设置默认值1008*/ASv_n int;BEGINv_n:=p_low;WHILE v_n<=p_highLOOPINSERT INTO st2(stno) VALUES(v_n);v_n:=v_n+1;END LOOP;COMMIT;END;(2)调用存储过程EXECUTE spInsert;在调用存储过程时未指定实参值,自动用输入参数p_low、p_ high对应的默认值代替,并在st2表中添加学号1001~1008。

使用SELECT语句进行测试:SELECT *FROM st2;运行结果:STNO STNAME STAGE STSEX----------------------------------------------1001100210031004100510061007100812.3.2 带输出参数存储过程的使用【例12.9】创建一个带输出参数的存储过程spNumber,查找指定专业的学生人数。

(1)创建存储过程CREATE OR REPLACE PROCEDURE spNumber(p_speciality IN char, p_num OUT number)/*创建存储过程spNumber, 参数p_speciality是输入参数, 参数p_num是输出参数*/ASBEGINSELECT COUNT(speciality) INTO p_numFROM studentWHERE speciality=p_speciality;END;(2)调用存储过程DECLAREv_num number;BEGINspnumber('计算机', v_num);DBMS_OUTPUT.PUT_LINE('计算机专业的学生人数是:'||v_num);END;在调用存储过程时,将实参值'计算机'传递给输入参数p_speciality;在过程体中,使用SELECT-INTO语句将查询结果存入输出参数p_num;结束时,将输出参数p_num的值传递给实参v_num并输出计算机专业的学生人数。

运行结果:计算机专业的学生人数是:312.3.3 带输入输出参数存储过程的使用【例12.10】创建一个存储过程spSwap,交换两个变量的值。

(1)创建存储过程CREATE OR REPLACE PROCEDURE spSwap(p_t1 IN OUT NUMBER, p_t2 IN OUT NUMBER)/*创建存储过程spSwap, 参数p_t1和p_t2都是输入输出参数*/ASv_temp number;BEGINv_temp:=p_t1;p_t1:=p_t2;p_t2:=v_temp;END;(2)调用存储过程DECLAREv_1 number:=70;v_2 number:=90;BEGINspSwap(v_1,v_2);DBMS_OUTPUT.PUT_LINE('v_1='||v_1);DBMS_OUTPUT.PUT_LINE('v_2='||v_2);END;在调用存储过程时,将实参的值传递给输入输出参数p_t1和p_t2。

相关文档
最新文档