数据库第四次实验报告_第1页
数据库第四次实验报告_第2页
数据库第四次实验报告_第3页
数据库第四次实验报告_第4页
数据库第四次实验报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南昌航空大学实验报告二0一年 月 日课程名称: 数据库概论 一实验名称:存储过程及触发器班级:姓名:同组人:指导教师评定:签名:实验参考代码及结果存储过程:实验参考代码及结果(1) 创立存储过程 9.11CREATE PROCEDURE Select_S AS SELECT * FROM S WHERE sex=女, GOExecute Select_S1snosnsexagedept98011I张丽萍女19CH98013陈婷婷女18PH98014李军女18EH239.12CREATE PROCEDURE InsRecToS(sno char(5)z sn varchar(8),sex cha

2、r (2)= 男 intz dept varchar (20)AS INSERT INTO S VALUES(sno,sn,sexz agef dept)GOExecute InsRecToS sno= S81sn= 罗兵l 49巳=T18 1 , dept= 1 信息,执行前:snosnsexagedept赵青江男18CS98011张丽萍女19CH98012陈曷欢男18IS98013陈婷婷女18PH98014李军女18EHNHLMJLLNULLMJLL执行后:snosnsexagedept赵青江更18CS98011张丽萍女19CH98012陈曷欢里18IS98013陈婷婷女18PH98014

3、李军女18EHS8罗兵里18信息9.13CREATE PROCEDURE Query_S(Sno char(5),SN VARCHAR(8) OUTPUT,Age SMALLINT OUTPUT)ASSELECT sn=sn,age=ageFROM SWHERE Sno=Sno(2)执行存储过程Declare SN VARCHAR(8),AGE SMALLINTexecute Query_S Text : CREATE PROCEDURE Select.S AS SELECT- FROM S WHEREsex=女:9.16sp_rename Select_S,Select_Student执行后

4、:980101Text: CREATE PROCEDURE Select.S AS SELECT- FROM S WHEREsex=女:9.16sp_rename Select_S,Select_Student执行后:赵青江18赵青江18(3)查看和修改存储过程 9.14ALTER PROCEDUREdbo . InsRecTos (sno char(5) z sn varchar(8),sex char (2)=|女 I age smallint,dept varchar (20)ASINSERTINTO SVALUES(sno,sn,sexz agez dept)(4)查看、重命名和删除存

5、储过程9.15exec sp_helptext Select_SB 存储过程田票统存储过程(1 1 dbo.InsRecToS田目 dbo.Query_Sdbo.Select-Student9.17DROP PROCEDURE Select_Student执行后: 存储过程田至统存储过程国由 dbo.InsRecToS国 目 dbo.Query_S(5)在DingBao数据库中创立存储过程C_P_Proc,实现参数化查询顾客订阅信息,查询参 数为顾客姓名,要求能查询出参数指定顾客的顾客编号、顾客名、订阅报纸名及订阅报纸 份数等信息。CREATE PROCEDURE C_P_Proc(ccna

6、varchar(10)z cno char (4) OUTPUT,cna varchar(10) OUTPUT,pna varchar(20) OUTPUT,num int OUTPUT)ASSELECT cna=cna,cno=cp.eno,pna=pna,num=numFROM cp,customer,paperWHERE o=cp.eno AND paper.pno=cp.pno AND cna=ccna;(6)执行存储过程C_P_Proc,实现对“李涛”等不同顾客的订阅信息的查询。Declare cno char(4),cna varchar(10)r pna varchar (20)

7、 ,num int execute C_P_Proc 李涛 lcno OUTPUT, cna OUTPUT, pna OUTPUT, num OUTPUT SELECT cno,cna,pna,num庆列名)阮列名)阮列名)氏列名)而出)李涛扬子晚报6(7)删除储过程C_P_ProcDROP PROCEDURE C_P_Proc 执行前:.存储过程国a系统存储过程E 宿 dbo.C_P_Proc存储过程存储过程存储过程执行后:存储过程BE) 至统存储过程触发器:(1) 创立触发器10.19CREATE TRIGGER TR_S_Age_update on S for update asdecl

8、are iAge int;select iAge=age from insertedif iAge45beginraiserror ( 1学生年龄应该大于等于,并小于等于1,16,1) rollback transaction end执行:UPDATE sSET age=48WHERE sno=,980101消息50000,级别16,状态1,过程TR S Age_update,第8行学生年龄应该大于等于8,并小于等于45 消息3609,级别16,状态工, 第1行 事务在触发器中结束。批处理已中止。10.20CREATE TRIGGER Change_S_Sel ON S FOR INSERT,

9、UPDATE,DELETE AS SELECT * FROM S 执行:(2)触发器的引用 INSERTandif exists (select name from sysobjects where name=1TR_C_insert type=,TR,)DROP TRIGGER TR_C_insert goandCREATE TRIGGER TR_C_insert ON c for insrt as declare iCT int; SELECT iCT=CT FROM inserted if iCT 10 beginraiserror (1课程学分应大于等于,小于等于.1, 16,1) r

10、ollback transaction end 执行: INSERT INTO c(eno,cnz ct)VALUES ( fC8 f , 1 运筹学 1 z 0.5)消息547,级别16,状态0,第1行、INSERT 语句与 CHECK 约束CK_c_ct_0BEAS793”冲突。该冲突发生于数据库jxg12,表”dbo.c, column *cf o 语句已终止。DELETECREATE TRIGGER TR_S_delete ON s for delete as declare Qicount int select icount=count (*) from deleted,sc whe

11、re deleted.sno=sc.sno if icount=l beginraiserror (1该学生在表SC中北引用,展示不能被删除! 116, 1) rollback transaction end 执行: DELETE FROM s WHERE sno=!980101过程TR_S_delete,第10行该学生在表SC中北引用,暂时不能被删除! 宿息3609,级另16,状态1,第1行 事务在触发器中结束。批处理已中止。(3)查看、修改和删除触发器 修改触发器ALTER trigger TR_S_Age_updateondbo.s for update as declare iAge

12、int; select iAge=age from inserted if iAge45 begin raiserror学生年龄应该大于等于,并小于等于I 16,1) rollback transaction end使用系统存储过程查看触发器 sp depends * Change S Sei1nametypeupdatedselectedcolumn1 dbo.sI user tablenoyessno2dbo.suser tablenoyessn3dbo.suser tablenoyessex4dbo.suser tablenoyesage5dbo.suser tablenoyesdept

13、sp_helptext 1Change_S_Sel*Text;而以F市品亩元nge运el 6M S、际筋亩:而防前直辞AS-SELECT-FROMSExec sp_help 1Change_S_Sel,NameChange_S_SelOwner Type Created_dat etime dbo trigger 2012-05-1511:26:12,147删除触发器NameChange_S_Sel10.24DROP TRIGGER TR_S_Age_update 执行前:B a触发器区 Change_S_SelTR_S_Ag e_upd atef71 TR_S_delete执行后:E) 国

14、Change_S_Sel 囱 TR_S_delete . * (4) 1.CREATE TRIGGER TR_PAPER_I ON paper for insert as declare 0ippr money,Qipno char (6) select ippr=ppr,ipno=pno from inserted if ippr0 or ippr is NULL begin update paperset ppr=10where pno=ipnoend执行:INSERTINTO paper(pno,pnaz ppr)VALUES V 000006 I,江西日报 l -9)pnopnappr

15、000001人民日报12,5000000002解放军报14.5000000003光明日报10.5000000004青年报11,5000000005扬子晚报18.5000江西日报10,00002.CREATE TRIGGER TR_PAPER_D ON paper for delete asdeclare ipno char(6) select ipno=cp.pno from deleted,cpwhere deleted.pno=cp.pno begindeletefrom cpwhere pno=ipno end执行:deletefrom paperwhere pno= 1 0000011

16、pnopnappr解放军报14,5000000003光明日报10,5000000004青年报11,5000000005扬子晚报18.5000000006江西日报10.0000NULLA/ULLNULLenopnonum00000240001000005600020000032000200000520003000003200030000044000400000330004000005200050000021000500000340005000004300050000055NULLMALNULL3CREATETRIGGER TR_PAPER_UON paperfor updateasdeclare ippr moneyselect ippr=ppr from insertedif ippr0 or ippr is NULL beginraiserror ( 1输入单价不正确! I 16, 1)rollback transaction end执行:UPDATE paperSET ppr=-8WHERE pno=f 0000021消息50000,级别16状态1过程TR_PAPER_U,第9行输入单价不正确!消息

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论