当前位置:文档之家› 数据库实验三触发器的创建修改及删除

数据库实验三触发器的创建修改及删除

数据库实验三触发器的创建修改及删除
数据库实验三触发器的创建修改及删除

昆明理工大学信息工程与自动化学院学生实验报告

( 2010 —2011 学年第二学期)

课程名称:数据库高级应用开课实验室:计算中心208 2011年 5月 17日

年级、专业、班学号姓名成绩

实验项目名称触发器的创建、修改及删除指导教师

教师

评语

教师签名:

年月日一、实验目的、要求

目的:了解触发器的功能

掌握触发器的使用方法

要求:实现简单触发器的使用

二、实验所用仪器、材料

微型计算机一台

SQL server 2008

三、实验原理

触发器与存储过程非常相似,触发器也是SQL 语句集,两者惟一的区别是触发器不能用EXECUTE 语句调用,而是在用户执行Transact-SQL 语句时自动触发(激活)执行。触发器是一个在修改指定表中的数据时执行的存储过程。经常通过创建触发器来强制实现不同表中的逻辑相关数据的引用完整性或者一致性。由于用户不能绕过触发器,所以可以用它来强制实施复杂的业务规则,以此确保数据的完整性。触发器不同于存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、INSERT、DELETE 这些操作时,SQL Server 就会自动执行触发

器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。

四、实验过程及数据记录

创建触发器BB(修改表S中的数据时SC中的数据也同时修改了)

CREATE TRIGGER BB ON S FOR UPDATE AS

IF UPDATE(S#)

BEGIN

UPDA TE SC SET SC.S#=A.S#FROM

INSERTED A,DELETED B

WHERE SC.S#=B.S#

END

查看表SC的数据

SELECT*FROM SC

WHERE S#='200510405101'

修改表S中的数据

UPDA TE S

SET S#='000000000000'

查看表SC中的数据(验证触发器的效果)

SELECT*FROM SC

WHERE S#='000000000000'

CREATE TRIGGER AA ON S FOR DELETE AS

DELETE FROM SC WHERE S#IN

(SELECT S#FROM S)

删除触发器BB

DROP TRIGGER BB

五、实验总结

触发器的作用

触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数据的一致性。它能够对数据库中的相关表进行级联修改,强制比CHECK 约束更复杂的数据完整性,并自定义错误消息,维护非规范化数据以及比较数据修改前后的状态。与CHECK 约束不同,触发器可以引用其他表中的列。在下列情况下,使用触发器将强制实现复杂的引用完整性: 制数据库间的引用完整性。创建多行触发器,当插入、更新或者删除多行数

据时,必须编写一个处理多行数据的触发器。执行级联更新或级联删除这样的动作。级联修改数据库中所有相关表。 销或者回滚违反引用完整性的操作,防止非法修改数据。与存储过程的区别

触发器与存储过程主要的区别在于触发器的运行方式。存储过程必须由用户、应用程序或者触发器来显示式地调用并执行,而触发器是当特定事件出现的时候,自动执行或者激活的,与连接到数据库中的用户或者应用程序无关。当一行被插入、更新或者从表中删除时触发器才运行,同时这还取决于触发器是怎样创建的。在数据修改时,触发器是强制业务规则的一种很有效的方法。一个表最多有三种不同类型的触发器,当UPDATE 发生时使用一个触发器;DELETE 发生时使用一个触发器;INSERT 发生时使用一个触发器。

触发器实验 3

实验(一):MS SQL Server的使用和管理 一、实验目的 ①掌握T-SQL语言中几个常用流程控制语句的使用。 ②通过对常用系统存储过程的使用,了解存储过程的类型。 ③通过创建和执行存储过程,了解存储过程的基本概念,掌握使用存储过程的操作技巧和方法。 二、实验内容 ①用两种方法(if…else语句与while、break和continue语句)实现1+2+3……+100值的计算。 ②活期存款中,“储户”通过‘存取款单’和“存储所”发生关系。假定储户包括:账号,姓名,电话,地址,存款额;“储蓄所”包括:储蓄所编号,名称,电话,地址。假定一个储户可以在不同的储蓄所存取款,试完成以下设计: 1.创建一个数据库名为SA VE,按要求在SA VE数据库中创建以上的那三个表“储户”、“存取款单”、“储蓄所”。在三张表中自己选择应该在哪些列创建主键外键约束。 2.为“存取款单”表创建一个CHECK约束,使存取标志列的值要么是1要么是0。3.创建一个触发器TR1完成下面的内容: 当向“存取名单”表中插入数据时,如果存取标志=1则应该更正储户表让存款额加上存取金额,如果存取标志=0则应该更正储户表让存款额减去存取金额,如果余额不足则显示余额不足错误。 4.创建一个视图显示用户账号、用户姓名、存款额和所在银行。 5.创建存储过程INPUT_PROC,OUT_PROC分别用于存款和取款,即向存取款单中插入数据。 三、实验步骤 1.启动sql查询分析器,运行相关sql脚本。 2.脚本文件如下: 创建一个数据库名为SA VE: CREATE DATABASE[SA VE] ON PRIMARY (NAME=lfm1_dat, FILLENAME='c:\SAVE.DA TA.mdf', SIZE=10, MAXSIZE=50, FILEGROWTH=15%) LOG ON (NAME='lfm_log', FILENAME='c:\SAVELOG.ldf', SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5MB) 创建以上的那三个表“储户”、“存取款单”、“储蓄所”,在三张表中自己选择应该在哪些列创建主键外键约束。 CREATE TABLE 储户 (账号INT PRIMARY KEY,姓名CHAR(10),电话INT,地址CHAR(10),存款额MONEY)

实验五 数据库的建立和维护实验

实验五数据库的建立和维护实验 一、实验目的 使学生熟练掌握使用SQL、Transact-SQL和SQL Server企业管理器向数据库中定义的表和视图输入数据、修改数据和删除数据的操作。 二、实验环境与实验准备工作 实验环境:Microsoft Windows xp操作系统,Microsoft SQL Server 2000数据库管理系统标准版或企业版。 实验准备工作:在开始本实验之前,请回顾教科书的相关内容(数据更新) 三、实验内容和设计 基于实验一建立的“图书读者数据库”(Book_Reader_DB),使用SQL Server 2000企业管理器和在SQL Server 2000查询分析器的Transact-SQL语句输入区输入Transact-SQL语句的两种方法,实现对Book_Reader_DB中“图书”、“读者”和“借阅”三个表的数据插入、修改和删除。 1、使用SQL Server 2000企业管理器对三个表进行数据更新 在“图书读者数据库”(Book_Reader_DB)中,点击“表”结点对应的表,然后点击鼠标右键中的“打开表”→“返回所有行”,如图1所示,将显示对应表中的所有数据,如图2所示: 图1 SQL Server 2000控制台界面 图2 SQL Server 2000中显示表中的数据 根据上述打开表的步骤,将对应的表打开后,在表中输入或修改下列数据,并删除一些过时的数据。 图书表

读者表 借阅表 2、使用SQL Server 2000中的查询分析器的Transact-SQL语句输入区输入Transact-SQL 语句对三个表进行数据更新。 打开SQL Server 2000的查询分析器(注意要对数据库Book_Reader_DB进行数据更新),在Transact-SQL语句输入区中输入Transact-SQL语句实现对三个表进行数据更新。输入的数据如下所示表所示。在插入、删除或修改表中的数据时,特别要注意SQL语句的格式、输入数据的类型,插入、删除或修改的数据要确保数据之间的关联以及在实验一建立表时所设定的一些约束。

存储过程与触发器实验

第一章存储过程与触发器实验 实验目的 1.理解存储过程的工作原理和作用。 2.掌握存储过程设置和程序设计过程。 3.理解触发器的工作原理和作用。 4.掌握触发器编写方法。 实验环境 采用IBM DB2或Sybase数据库管理系统作为实验平台。其中,DB2可以采用DB2 Express-C或DB2 V8 Enterprise。 实验完成人:李肇臻,谢锦 实验内容 一、存储过程实验 1.针对下面2个完整性约束条件,建立存储过程,实现当数据导入或更新时,可以自动修改拥塞率、半速率话务量比例 (1)拥塞率=拥塞数量/呼叫数量 (2)半速率话务量比例=半速率话务量/全速率话务量 在DB2CMD中运行,win7用管理员权限。 create procedure M() language SQL begin update CALLDATA set "callcongs"="congsnum"/"callnum" where "congsnum"<>0 and "callnum"<>0; update CALLDATA set "rate"="thtraff"/"traff" where "thtraff"<>0 and "traff"<>0; end @ 2.将存储过程添加到数据库服务器上

3.在客户端编写调用存储过程的主程序 4.运行客户端程序,调用存储过程,观察存储过程执行过程和数据更新情况;调用就用db2 CALL M() 二、触发器实验 1. 针对下列约束条件,分别建立1个触发器: 1)每个小区/扇区最多占用14个TCH频点,合法频点范围在[1,60]之间。当向小区中新加入频点时,如果小区中现有频点数目已达到14个,则用新加入的频点替换现有频点中的最小频点;当修改或新加入频点时,如果发现频点不在合法范围内,则输出提示信息,并拒绝该操作。 create trigger first_1 after insert on FREQUENCY

数据库实验报告(7)-触发器

桂林航天工业学院学生实验报告 实验七 实验名称触发器实验日期2019.11.12 实验目的 1.了解触发器的基本原理,掌握创建触发器的方法。 2.掌握修改和删除触发器的方法,能够设计简单的触发器。 实验内容触发器 实验方法及步骤 1、创建一个触发器InsStud,当向student表插入一条记录时,同时把该记录插入到关系student2。 CREATE TRIGGER InsStud on student FOR INSERT AS insert into student2 select*from inserted 2、向student表中插入一条记录('201215130','张三','男',20,'CS'),查看student和student2表中记录的变化是什么? student和student2表中都能插入('201215130','张三','男',20,'CS')这条记录 insert student values('201215130','张三','男',20,'CS'); select*from student select*from student2 3、创建一个触发器DelStud,当向student表删除一条记录时,同时把该记录从student2表删除掉。

CREATE TRIGGER DelStud on student FOR delete AS delete student2 select*from deleted 4、删除student表中的sno为201215130的元组,同时查看student2表中元组的变化是什么? student和student2表中都能删除('201215130','张三','男',20,'CS')这条记录。 delete student where sno='201215130' select*from student select*from student2 5、为course表创建一个名为del_rollback_tr的DELETE触发器,该触发器的作用是禁止删除course表中的记录。 CREATE TRIGGER del_rollback_tr on course FOR delete AS if (exists(select*from deleted)) rollback insert course values('8','张','5',2); delete course where cno='8'

实验三 触发器特性测试

- -- 数字逻辑实验指导书 葛长赟编写 大连东软信息学院 电子工程系 2016年8月 - . -word资

引言 《数字逻辑》是软件工程专业的必修课,为后续课程的实施,为进一步学习各专业后续课程打下基础,是一门理论与实践相结合的课程。 通过这门课程的学习,使学生掌握数字电路与系统的基本工作原理和分析设计方法;理解标准的集成电路器件使用方法为后续学习奠定基础。 本门课程理论内容包括:数制与码制、逻辑代数基础、组合逻辑电路的分析和设计、各种触发器及时序逻辑电路的分析和设计等,除数制与码制外,每部分内容都配备有相应的实验室实验,帮助学生理解和掌握相关知识内容。 本实验指导书旨在对《数字逻辑》课程的实验进行规范,内容包括:实验目的和要求、设备或环境、实验原理(项目分析和设计)、实验内容(项目实施)等。学生可遵照本实验指导书内容完成相应实验并提交实验报告。

设备与工具 这章主要介绍本实验指导书中会用到的硬件设备。 信号发生器 信号发生器是一台具有高度稳定性、多功能等特点的函数信号发生器。能直接产生正弦波、三角波、方波、斜波、脉冲波,波形对称可调并具有反向输出,直流电平可连续调节。TTL可与主信号做同步输出。还具有VCF 输入控制功能。频率计可做内部频率显示,也可外测1Hz~10.0MHz的信号频率,电压用LED显示。 万用表 万用表是一种多功能、多量程的便携式电子电工仪表,一般的万用表可以测量直流电流、直流电压、交流电压、电阻等。有些万用表还可测量电容、电感、功率、晶体管共射极直流放大系数等。 数字电路实验箱 数字电路实验箱可以为学生提供内容丰富的实验平台,结构设计灵活,可在此平台上搭建电路,完成数字电路课程要求的基本实验。

实验二数据库的建立和维护

实验二 数据库的建立和维护 一、实验目的 (1)了解SQL Server 2000数据库的逻辑结构和物理结构及其结构特点; (2)了解SQL Server 2000的基本数据类型及空值的概念; (3)掌握在企业管理器中创建数据库和表; (4)掌握使用Transact-SQL 语句创建数据库和表。 (5)掌握在企业管理器中对表进行插入、修改和删除的操作; (6)掌握使用T-SQL 语句对表进行插入、修改和删除的操作; (7)了解T-SQL 语句对表数据库操作的灵活控制功能。 二、实验环境: Window XP 系统、SQL Server 2000 三、实验内容和原理 1、实验内容 创建用于医院管理的病人管理数据库,数据库名是Patient_manager ,包含病人的信息、住院信息和病人的医疗信息。数据库Patient_manager 包含下列3个表: (1)Jibenqingkuang :基本情况表; (2)Zhuyuanxinxi :住院信息表; (3)Yiliaoqingkuang :医疗情况表。 各表的结构如下: Jibenqingkuang 表: 字段名 数据类型和长度 空值否 说明 PatientID Char(4) null 住院号 Name Char(8) Not null 姓名 Birthday Datetime(8) Not null 出生日期 Sex Bit(2) Not null 性别 Merry Char(2) Not null 婚姻状况 Adderss Varchar(50) Not null 地址 PostID Char(6) null 邮编 Phone Char(11) null 电话 Department Char(3) null 病房 字段名 数据类型和长度 空值否 说明 Department Char(3) Not null 病房

基本门电路及触发器 电子版实验报告

J CP K S D R D Q Q S D R D D CP Q Q 43121556423156实验三:基本门电路及触发器 实 验 室: 实验台号: 日 期: 专业班级: 姓 名: 学 号: 一、 实验目的 二、实验内容 (一)验证以下门电路的逻辑关系 1. 用与非门(00)实现与门逻辑关系:F=AB 2. 异或门(86): (二):门电路的设计(二选一) 1.用74LS00和74LS86 设计半加器. 2.用TTL 与非门设计一个三人表决电路。 A B C 三个裁判,当表决某个提案时,多数人同意提案为通过。 (1为同意,0为不同意) 要求:用74LS00和 74LS10芯片。 (三)验证JK 触发器的逻辑关系 1.J-K 触发器置位端、复位端及功能测试。 图3-1 JK 触发器(74LS112)和D 触发器(74LS74) 2、设计J-K 触发器转化成D 触发器的电路 利用与非门和J-K 触发器设计并测试逻辑功能。 B A B A B A F ⊕=+=n n n n n n n B A B A B A S ⊕=+=' n n n B A C ='

&A B &F 三、实验原理图 图3-2与门电路 图3-3异或门电路 图3-4半加器 四、实验结果及数据处理 1. 直接在实验原理图上标记芯片的引脚。 2. 写出实验结果。 (1)与门、异或门实验结果表(用数字万用表测量高低电平1、0的电压值。) 输入 与门 异或门 A B F U o (V ) F 0 0 0 1 1 0 1 1 (2)半加器实验结果 (3) 表决电路结果 A n B n n S ' n C ' 0 0 0 1 1 0 1 1 A B C F 0 0 0 0 0 1 0 1 0 0 1 1 =1A B F

实验数据库的建立和维护

实验 2 :数据库的建立和维护实验 本实验需要 2 学时。 一、实验目的 要求学生熟练掌握使用SQL 、Transact-SQL 和SQL Server 企业管理器建立数据库、表、修改数据库、表和删除数据库和表的操作。 二、实验内容和步骤 1.创建数据库 1)在企业管理器中创建数据库姓名_数据库名,要求: ●数据库姓名_数据库名初始大小为10MB,最大大小为50MB,数据库自动增长,增长方式是按5%比例增 长; ●日志文件初始大小为2MB,最大可增长到5MB,按1MB增长; ●数据库的逻辑文件名和物理文件名均采用默认值; ●(分别为姓名_数据库名和e:\姓名\data\姓名_数据库名.mdf ●事务日志的逻辑文件名和物理文件名也采用默认值。 ●(分别为姓名_数据库名_LOG和e:\姓名\data\姓名_数据库名_LOG.ldf) 2)②使用T-SQL语句创建数据库姓名_数据库名_2,要求同1; Create database 姓名_数据库名_2 On (name=STUDENT_01_data, filename='e:\姓名\data\姓名_数据库名_2.mdf', size=10, maxsize=unlimited, filegrowth=10%) log on (name=student1_log, filename='e:\姓名\data\姓名_数据库名.mdf', size=2, maxsize=5, filegrowth=1) 2.创建表 以上面创建的数据库为例,创建表。创建表实际上就是创建表结构,再向表中输入数据。既可以使用企业管理器创建表,也可以用Transact-SQL命令创建表。

大数据库实验6触发器实验报告材料

淮海工学院计算机工程学院实验报告书 课程名:《数据库原理及应用》 题目:存储过程和触发器 班级:软件132 学号: 2013122907 姓名:孙莹莹 评语: 成绩:指导教师: 批阅时间:年月日

一.目的与要求 1.掌握存储过程的创建方法; 2.掌握存储过程的执行、修改和删除等操作; 3.掌握触发器的创建方法; 4.掌握触发器的使用、修改和删除等相关内容 二.实验内容 基于前面建立的factory数据库,使用T-SQL语句完成如下各小题的功能: 1.创建一个为worker表添加职工记录的存储过程Addworker; 2.创建一个存储过程Delworker删除worker表中指定职工号的记录。 3.显示存储过程Delworker; 4.删除存储过程Addworker和Delworker. 三.实验步骤 1 . (1)建立存储过程 USE factory GO CREATE PROCEDURE Addworker @no int=NULL, @name char(10)=NULL, @sex char(2)=NULL, @birthday datetime=NULL, @na char(2)=NULL, @wtime datetime=NULL, @depno int=NULL AS IF @no IS NULL OR @name IS NULL OR @sex IS NULL OR @birthday IS NULL OR @depno IS NULL BEGIN PRINT '请重新输入该职工信息!' PRINT '你必须提供职工号、姓名、性别、出生日期、部门号' RETURN END BEGIN TRANSACTION INSERT INTO worker VALUES(@no,@name,@sex,@birthday,@na,@wtime,@depno) IF @@error<>0 BEGIN ROLLBACK TRAN RETURN END

数电实验触发器及其应用

数电实验触发器及其应用 数字电子技术实验报告 实验三: 触发器及其应用 一、实验目的: 1、熟悉基本RS触发器,D触发器的功能测试。 2、了解触发器的两种触发方式(脉冲电平触发和脉冲边沿触发)及触发特点 3、熟悉触发器的实际应用。 二、实验设备: 1 、数字电路实验箱; 2、数字双综示波器; 3、指示灯; 4、74LS00、74LS74。 三、实验原理: 1、触发器是一个具有记忆功能的二进制信息存储器件,是构成多种时序 电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。在数字系统和计算机中有着广泛的应用。触发器具有两个稳定状态,即“0”和“ 1 ”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。触发器有集成触发器和门电路(主要是“与非门” )组成的触发器。 按其功能可分为有RS触发器、JK触发器、D触发器、T功能等触发器。触发方式有电平触发和边沿触发两种。 2、基本RS触发器是最基本的触发器,可由两个与非门交叉耦合构成。 基本RS触发器具有置“ 0”、置“ 1”和“保持”三种功能。基本RS触发器

也可以用二个“或非门”组成,此时为高电平触发有效。 3、D触发器在CP的前沿发生翻转,触发器的次态取决于CP脉冲上升沿n+1来到之前D端的状态,即Q = D。因此,它具有置“ 0”和“T两种功能。由于在CP=1期间电路具有阻塞作用,在CP=1期间,D端数据结构变RS化,不会影响触发器的输出状态。和分别是置“ 0”端和置“ 1” DD 端,不需要强迫置“ 0”和置“ 1”时,都应是高电平。74LS74(CC4013, 74LS74(CC4042均为上升沿触发器。以下为74LS74的引脚图和逻辑图。 馬LD 1CP 1云IQ LQ GM) 四、实验原理图和实验结果: 设计实验: 1、一个水塔液位显示控制示意图,虚线表示水位。传感器A、B被水浸沿时

01-实验一:SQL server 2000系统基本操作及数据库的建立和维护实验

实验一:SQL Sever2000系统 一、实验目的要求 熟悉SQLSERVER2000上机环境、了解SQLSERVER2000各个组件的作用、学习使用SQL SERVER联机丛书。掌握SQL Sever2000系统的基本操作、掌握企业管理器、查询分析器的使用。使学生了解SQL Server的数据备份和恢复机制,掌握SQL-Server中数据库备份和恢复的方法。 要求学生熟练掌握在SQL Server企业管理器中和使用SQL语句在Transact-SQL方式下创建数据库、表、索引和修改表结构。熟练掌握在SQL Server企业管理器中和使用SQL语句在Transact-SQL方式下向数据库输入数据、修改数据和删除数据的操作,索引的建立和维护的操作,数据完整性的定义以及基本函数的使用方法。并学会使用企业管理器和执行Transact-SQL语句和进行结果分析。 二、仪器用具及材料(仪器名称及主要规格、用具名称) 1.PC兼容机:CPU主频1G以上、内存128M以上、硬盘10G以上。 2.软件系统:WINDOWS98或WINDOWSXP、SQL Sever2000系统。 三、实验内容及原理 1.SQL SERVER联机丛书使用方法。 2.SQL SERVER服务管理器的使用(开始、暂停、停止数据库服务器)。 3.企业管理器的使用。 4.查询分析器的使用(方法1:在企业管理器中打开,方法2:开始-)程序-)SQL Server2000-)查询分析器)。 5.创建数据库和查看数据库属性(用企业管理器和查询分析器分别实现)。 6.创建表、确定表的主码和约束条件,为主码建索引(用企业管理器和查询分析器分别实现)。 7.查看和修改表结构(用企业管理器和查询分析器分别实现)。 8.向表中添加数据(用企业管理器和查询分析器分别实现)。 9. 设计数据完整性. 10.用企业管理器对所创建的数据库进行备份。 四、操作方法与实验步骤 1.按照授课第三章SQL SERVER2000课件内容完成第1-5项实验。 2.分别使用企业管理器和使用SQL语句建立库存管理信息系统的数据库和表: (1)创建库存管理信息系统的数据库。(数据库的名字:学生本人名字汉语拼音+kcgl)(2)创建数据库中的表(表的名字有学生自己命名): 表1:设备代码表 表2

实验五 存储过程和触发器的定义和使用3

实验五存储过程和触发器的定义和使用 一、实验目的 1、掌握局部变量、全局变量、流程控制语句的使用方法 2、了解存储过程的类型和作用,并掌握使用对象资源管理器和Transact-SQL语句创建 存储过程的方法及使用方法。 3、理解触发器的特点和作用,并掌握使用Transact-SQL语言创建触发器的方法 二、实验内容 1.在学生成绩库中中有如下各表: 学生表(Student) 学号姓名性别出生日期专业所在系联系电话020101杨颖01980-7-20计算机应用计算机88297147 020102方露露01981-1-15信息管理计算机88297147 020103俞奇军11980-2-20信息管理计算机88297151 020104胡国强11980-11-7信息管理计算机88297151 020105薛冰11980-7-29水利工程水利系88297152 020201秦盈飞01981-3-10电子商务经济系88297161 020202董含静01980-9-25电子商务经济系88297062 020203陈伟11980-8-7电子商务经济系88297171 020204陈新江11980-7-20房建水利系88297171 create database学生成绩数据库 create table Student ( 学号Char(6)not null, 姓名Char(8)not null, 性别Bit not null, 出生日期smalldatetime, 专业Char(10), 所在系Char(10), 联系电话Char(11)null ) 课程表(Course) 课程号课程名教师开课学期学时学分 101计算机原理陈红2453 102计算方法王颐3453 103操作系统徐格2604 104数据库原理及应用应对刚3755 105网络基础吴江江4453 106高等数学孙中文1906 107英语陈刚1906 108VB程序设计赵红韦3705

存储过程和触发器(数据库实验5)

数据库基础与实践实验报告实验五存储过程和触发器 班级:惠普测试142 学号:1408090213 姓名:闫伟明 日期:2016-11-14

1 实验目的: 1)掌握SQL进行存储过程创建和调用的方法; 2)掌握SQL进行触发器定义的方法,理解触发器的工作原理; 3)掌握触发器禁用和重新启用的方法。 2 实验平台: 操作系统:Windows xp。 实验环境:SQL Server 2000以上版本。 3 实验内容与步骤 利用实验一创建的sch_id数据库完成下列实验内容。 1.创建存储过程JSXX_PROC,调用该存储过程时可显示各任课教师姓名及其所教课程名称。 存储过程定义代码: CREATE PROCEDURE JSXX_PROC AS SELECT tn 教师姓名,cn 所教课程FROM T,TC,C WHERE T.tno=TC.tno AND https://www.doczj.com/doc/1817229439.html,o=https://www.doczj.com/doc/1817229439.html,o 存储过程执行语句与执行结果截图: EXECUTE JSXX_PROC 2.创建存储过程XM_PROC,该存储过程可根据输入参数(学生姓名)查询并显示该学生的学号、 所学课程名称和成绩;如果没有该姓名学生,则提示“无该姓名的同学”。 存储过程定义代码:

CREATE PROCEDURE XM_PROC @sname VARCHAR(100) AS BEGIN IF EXISTS(SELECT NULL FROM S WHERE sn=@sname) SELECT S.sno 学号,cn 课程,score 成绩FROM S,SC,C WHERE https://www.doczj.com/doc/1817229439.html,o=https://www.doczj.com/doc/1817229439.html,o AND SC.sno=S.sno AND S.sn=@sname ELSE PRINT'无该姓名的同学。' END 运行截图: 3.创建存储过程XBNL_PROC,该存储过程可根据输入参数(专业名词,默认值为计算机专业), 统计并显示该专业各年龄段男、女生人数。如果没有该专业,则显示“无此专业”。 存储过程定义代码: CREATE PROCEDURE XBNL_PROC @departName VARCHAR(30)='计算机', @begin INT, @end INT AS

数据库实验三触发器的创建修改及删除

昆明理工大学信息工程与自动化学院学生实验报告 ( 2010 —2011 学年第二学期) 课程名称:数据库高级应用开课实验室:计算中心208 2011年 5月 17日 年级、专业、班学号姓名成绩 实验项目名称触发器的创建、修改及删除指导教师 教师 评语 教师签名: 年月日一、实验目的、要求 目的:了解触发器的功能 掌握触发器的使用方法 要求:实现简单触发器的使用 二、实验所用仪器、材料 微型计算机一台 SQL server 2008 三、实验原理 触发器与存储过程非常相似,触发器也是SQL 语句集,两者惟一的区别是触发器不能用EXECUTE 语句调用,而是在用户执行Transact-SQL 语句时自动触发(激活)执行。触发器是一个在修改指定表中的数据时执行的存储过程。经常通过创建触发器来强制实现不同表中的逻辑相关数据的引用完整性或者一致性。由于用户不能绕过触发器,所以可以用它来强制实施复杂的业务规则,以此确保数据的完整性。触发器不同于存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如UPDATE、INSERT、DELETE 这些操作时,SQL Server 就会自动执行触发

器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。 四、实验过程及数据记录 创建触发器BB(修改表S中的数据时SC中的数据也同时修改了) CREATE TRIGGER BB ON S FOR UPDATE AS IF UPDATE(S#) BEGIN UPDA TE SC SET SC.S#=A.S#FROM INSERTED A,DELETED B WHERE SC.S#=B.S# END 查看表SC的数据 SELECT*FROM SC WHERE S#='200510405101' 修改表S中的数据 UPDA TE S SET S#='000000000000' 查看表SC中的数据(验证触发器的效果) SELECT*FROM SC WHERE S#='000000000000'

数据库表视图的创建与维护实验

北京邮电大学 实验报告 课程名称数据库系统原理 实验名称数据库表/视图的创建与维护实验 计算机学院网络工程11班 薛玥 指导教师吴起凡 成绩 2014-3-27

实验目的 1.掌握将E-R图转换为数据库逻辑模式(关系表)的方法。 2.通过进行数据库表的建立操作,熟悉并掌握在Microsoft SQL Server数据库中建立表的方法,理解关系数据库表的结构,巩固SQL标准中关于数据库表的建立语句。 3.通过对Microsoft SQL Server数据库中建立、维护视图的实验,熟悉Microsoft SQL Server数据库中建立和维护视图的方法,理解和掌握视图的概念。 4.掌握从Excel表向Microsoft SQL Server关系数据库导入数据的方法,利用实 际数据建立GSM网络配置数据库。 ·实验环境 采用Microsfot SQL Server2005数据库管理系统作为实验平台; 个人独立完成此实验。 ·实验内容 将本次试验大致分为一下几个内容: 1.根据上次《GSM移动通信网络配置数据库》相关背景资料及上次试验对于GSM网络各个实体间的关系,将数据需求转化为E-R图; 2.将E-R图转化为逻辑模式,在转化的时候要注意表结构及属性,以及一些primary key的选择,以及键之间的约束关系; 3.接下来,将将逻辑模式转化为物理模式。转化成物理模型的方式主要有以下 三种,1)写好create table、create view等命令的SQL脚本,利用脚本文件一次性生成这些表和视图,然后在Microsoft SQL Server中打开SQL脚本文件并执行;2)把创建表和视图的脚本语句分成一条一条SQL语句执行;3)使用SQL Server所提供的功能,自动创建表和视图。以上说的这三种方法,我都做了尝试,会在后面详细阐述; 3.视图定义: 1)创建单表上的视图: a.在表“小区基本信息”上创建“LAC号为14121的小区基本位置信息” 视图CellInfo,属性包括(CellID、所属地区、LAC号、经度、纬度)。 b.在表“20个小区一周分钟级话务数据”上创建“全速率话务量平均值大于23的小区话务量数据信息”视图CellCallInfo,属性包括(CellID、平均半速率话务量率、平均拥塞率)。 2)创建多表上的视图:

数据库存储器与触发器实验报告(互联网+)

南昌航空大学实验报告 二0一七年 5 月 3 日 课程名称:数据库概论实验名称:存储器与触发器 班级:xxx 姓名:xxx 同组人: 指导教师评定:签名: 一、实验环境 1.Windows2000或以上版本; 2.SQLServer2000或2005。 二、实验目的 1.掌握存储过程的创建,修改,使用,删除; 2.掌握触发器的创建,修改,使用,删除。 三、实验步骤及参考源代码 1.创建过程代码: CREATE PROCEDURE C_P_Proc(@ccna varchar(10),@cno char(4)OUTPUT,@cna varchar(10)OUTPUT,@pna varchar(20)OUTPUT,@num int OUTPUT) AS SELECT @cna=cna,@cno=https://www.doczj.com/doc/1817229439.html,o,@pna=pna,@num=num FROM cp,customer,paper WHERE https://www.doczj.com/doc/1817229439.html,o=https://www.doczj.com/doc/1817229439.html,o AND paper.pno=cp.pno AND cna=@ccna;

6.执行存储过程C_P_Pro,实现对李涛,钱金浩等不同顾客的订阅信息查询execute C_P_Proc@name='李涛' execute C_P_Proc@name='钱金浩' 7,删除存储过程C_P_Prcc DROP PROCEDURE C_P_PROC (4)在DingBao数据库中针对PAPER创建插入触发器TR_PA PER_I、删除触发器TR_PAPER_D、修改触发器TR_PAPER_U。具体要求如下。

<1>对PAPER的插入触发器:插入报纸记录,单价为负值或为空时,设定为10元。 CREATE TRIGGER TR_PAPER_I ON paper FOR INSERT AS DECLARE @ippr FLOAT; declare @ipno int; SELECT @ippr=ppr,@ipno=pno from inserted begin if @ippr<0 or @ippr is NULL begin raiserror('报纸的单价为空或小于零!',16,1) update paper set ppr=10 where paper.pno=@ipno end

数电实验报告:实验3-触发器

广东海洋大学学生实验报告书(学生用表) 实验名称 课程名称 课程号 学院(系) 专业 班级 学生姓名 学号 实验地点 实验日期 实验3:触发器逻辑功能测试及应用 一、实验目的 1、掌握集成触发器的逻辑功能及使用方法 2、熟悉触发器之间相互转换的方法 二、实验内容及步骤 1、测试双JK 触发器74LS112逻辑功能。 在输入信号为双端的情况下,JK 触发器是功能完善、使用灵活和通用性较强的一种触发器。本实验采用74LS112双JK 触发器,是下降边沿触发的边沿触发器。JK 触发器的状态方程为Q * =J Q +K Q (1)JK 触发器74LS112逻辑电路引脚图如下: 图1 (2)测试复位、置位功能,将测试结果填入表1。 表1 (3)触发功能测试,按表2要求测试JK 触发器逻辑功能。 表2 GDOU-B-11-112

(4) 根据图 2逻辑图将JK 触发器分别连接成T 触发器和T ′触发器,并通过做实验进行验证。 注释:T 触发器的逻辑功能:当T =0时,时钟脉冲作用后,其状态保持不变;当T =1时,时钟脉冲作用后,触发器状态翻转。如果将T 触发器的T 端置“1”,即得T'触发器。在T'触发器的CP 端每来一个CP 脉冲信号,触发器的状态就翻转一次,故称之为反转触发器,广泛用于计数电路中。 图2 2、测试双D 触发器74LS74的逻辑功能 在输入信号为单端的情况下,D 触发器用起来最为方便,其状态方程为 Q * =D ,其输出状态的更新发生在CP 脉冲的上升沿,故又称为上升沿触发的边沿触发器,触发器的状态只取决于时钟到来前D 端的状态,D 触发器的应用很广,可用作数字信号的寄存,移位寄存,分频和波形发生等。 (1)D 触发器74LS74逻辑电路引脚图3所示。

实验6 数据库实验——存储过程和触发器

实验6 存储过程与触发器 一、实验目的 1、加深与巩固对存储过程与触发器概念的理解。 2、掌握触发器的简单应用。 3、掌握存储过程的简单应用。 二、实验内容 一)存储过程: 1、创建一存储过程,求l+2+3+…+n,并打印结果。 CREATE PROCEDURE addresult AS DECLARE @n int=10,/*最后一个数*/ @i int=0, @result int=0 /*结果*/ BEGIN WHILE(@i<=@n) BEGIN SET @result=@result+@i SET @i=@i+1 END PRINT'1+2+3+、、、+n的结果就是:' PRINT @result RETURN(@result) END GO 2.调用上面的addresult存储过程,打印l十2+3+…+10的结果。EXEC addresult

3、修改上述存储过程为addresult1,使得@n为输入参数,其具体值由用户调用此存储过程时指定。 CREATE PROCEDURE addresult1 @n int=10 /*最后一个数*/ AS DECLARE @i int=0, @result int=0 /*结果*/ BEGIN WHILE(@i<=@n) BEGIN SET @result=@result+@i SET @i=@i+1 END PRINT'1+2+3+、、、+n的结果就是:' PRINT @result RETURN(@result) END GO 4、调用上面修改后的addresult1存储过程,打印l+2+3+…+100的结果。 EXEC addresult1 100 5.修改上述存储过程为addresult2,将@n参数设定默认值为10,并改设@sum为输出参数,让主程序能够接收计算结果。

实验三触发器,移位寄存器实验

实验三触发器、移位寄存器实验 一、实验目的 1、掌握基本SR触发器、D触发器、JK触发器的工作原理。 2、学会正确使用SR触发器、D触发器、JK触发器。 3、熟悉移位寄存器的电路结构及工作原理。 4、掌握中规模集成移位寄存器74LS194的逻辑功能及使用方法。 二、实验所用器件和仪表 1、四2输入与非门74LS00 1片 2、双D触发器74LS74 2片 3、双JK触发器74LS73 1片 4、四位双向通用移位寄存器74LS194 2片 5、万用表 6、示波器 7、实验箱 三、实验内容 1、设计基本SR触发器并验证其功能。 2、验证D触发器功能。 3、验证JK触发器功能。 4、使用74LS74双D触发器构成右移寄存器,测试工作情况。 5、使用74LS74双D触发器构成循环右移寄存器,测试工作情况。 6、验证双向移位寄存器74LS194的逻辑功能。 7、使用两片74LS194构成串/并行转换器。 四、实验接线图和测试步骤 根据触发器的定义,Q和Q应互补,因此R = 0,S = 0是非法状态。SR触发器真值表如下:

注:PR=S D,CLR=R D 上图是测试D触发器的接线图,K1、K2、K3是电平开关输出,LED0、LED1是电平指示灯,AK1宽单脉冲,1MHz、10MHz是时钟脉冲。左图为单次脉冲的测试,右图为连续脉冲的测试。 测试步骤如下: (1)CLR = 0,PR = 1,测得Q = ,Q = 。 (2)CLR = 1,PR = 1,测得Q = ,Q = 。 (3)CLR = 1,PR = 0,测得Q = ,Q = 。 (4)CLR = 1,PR = 1,测得Q = ,Q = 。 (5)CLR = 1,PR = 1,D = 1,CK接宽单脉冲,按按钮,测得Q = ,Q = 。(6)CLR = 1,PR = 1,D = 0,CK接宽单脉冲,按按钮,测得Q = ,Q = 。(7)CLR = 1,PR = 1,D接1MHz脉冲,CK接10MHz,在示波器上同时观测Q、CK 的波形,观测到Q的波形只在CK上升沿才发生变化。

《数据库原理及应用》实验指导4

《数据库原理及应用》实验指导书——实验4 数据库视图的定义及维护 一.实验目的:掌握视图的定义与维护操作,加深对视图在关系数据库中作用的理解。二.相关知识:视图是根据子模式建立的虚拟表。一个视图可以由一个表构造,也可以由多个表构造。利用企业管理器和视图创建向导进行创建,查看和修改视图就如同对表的操作一样,非常容易。 三.实验内容 本实验的主要内容是: 1)创建和删除视图 2)查询和更新视图 具体完成以下例题。 例1 建立计算机系学生的视图。 例 2 建立计算机系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有计算机系的学生。 例3 建立计算机系选修了’1’号课程的学生视图 例4 建立计算机系选修了’1’号课程且成绩在90分以上的学生视图 例5 定义一个反映学生出生年份的视图 四.实验步骤 1.创建视图:下面利用了SQL Server中提供的视图创建向导,来实现例1(建立计算机系学生视图)。 1)打开企业管理器,确认服务器,打开数据库文件夹,选中新视图所在的数据库(此例为学生课程数据库)。 2)选择菜单:[工具]|[向导] 3)在如图1所示的向导选择对话框中,单击数据库左边的“+”号,使之展开。 选择“创建数据库向导”项,单击“确定”。

图1 向导选择对话框 4)进入创建视图向导后,首先出现的是欢迎使用创建视图向导对话框,其中简单介绍了该向导的功能。单击“下一步”后,就会出现选择数据库对话框。 5)在选择数据库对话框中,选择视图所属的数据库。本例的数据库为“学生课程”。 单击“下一步”按键,则进入选择表对话框。 6)在选择表对话框中,列出了指定数据库中所有用户定义的表。用户可以从中选择构造视图所需的一个表或者多个表,被选中的表成为构造视图的参考表。选择构造视图参考表的方法是:用鼠标单击表后的“包含在视图中”列,使复选框为选中状态。单击“下一步”按键,则进入选择对话框。 7)列选择对话框中以表格形式列出了创建视图参考表的全部属性,每个属性占表的一行,创建视图参考属性可以在表格中选出。选择视图参考属性的方法是用鼠标单击属性名后边的“选择列”列,使复选框为选中状态。单击“下一步” 按键,进入创建视图的定义限制对话框,如图2所示。

触发器及其应用实验报告 - 图文-

实验报告 一、实验目的和任务 1. 掌握基本RS、JK、T和D触发器的逻辑功能。 2. 掌握集成触发器的功能和使用方法。 3. 熟悉触发器之间相互转换的方法。 二、实验原理介绍 触发器是能够存储1位二进制码的逻辑电路,它有两个互补输出端,其输出状态不仅与输入有关,而且还与原先的输出状态有关。触发器有两个稳定状态,用以表示逻辑状态"1"和"0飞在二定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态,它是一个具有记忆功能的二进制信息存储器件,是构成各种时序电路的最基本逻辑单元。 1、基本RS触发器 图14-1为由两个与非门交叉祸合构成的基本RS触发器,它是无时钟控制低电平直接触发的触发器。 基本RS触发器具有置"0"、置"1"和保持三种功能。通常称s为置"1"端,因为 s=0时触发器被置"1"; R为置"0"端,因为R=0时触发器被置"0"。当S=R=1时状态保持,当S=R=0时为不定状态,应当避免这种状态。

基本RS触发器也可以用两个"或非门"组成,此时为高电平有效。 S Q S Q Q 卫R Q (a(b 图14-1 二与非门组成的基本RS触发器 (a逻辑图(b逻辑符号 基本RS触发器的逻辑符号见图14-1(b,二输入端的边框外侧都画有小圆圈,这是因为置1与置。都是低电平有效。 2、JK触发器 在输入信号为双端的情况下,JK触发器是功能完善、使用灵活和通用性较强的一种触发器。本实验采用74LS112双JK触发器,是下降边沿触发的边沿触发器。引脚逻辑图如图14-2所示;JK触发器的状态方程为: Q,,+1=J Q"+K Q 3 5

J Q CLK K B Q 图14-2JK触发器的引脚逻辑图 其中,J和IK是数据输入端,是触发器状态更新的依据,若J、K有两个或两个以上输入端时,组成"与"的关系。Q和Q为两个互补输入端。通常把Q=O、Q=1的状态定为触发器"0"状态;而把Q=l,Q=0 定为"}"状态。 JK触发器常被用作缓冲存储器,移位寄存器和计数器。 CC4027是CMOS双JK触发器,其功能与74LS112相同,但采用上升沿触发,R、S端为高电平

相关主题
文本预览
相关文档 最新文档