实验三:数据库编程.doc

实验三:数据库编程.doc

ID:56777165

大小:28.00 KB

页数:4页

时间:2020-07-09

实验三:数据库编程.doc_第1页
实验三:数据库编程.doc_第2页
实验三:数据库编程.doc_第3页
实验三:数据库编程.doc_第4页
资源描述:

《实验三:数据库编程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《数据库原理》实验报告(三)成绩实验名称数据库编程姓名学号班级实验目的(1)了解存储过程、函数和触发器的作用;(2)熟悉使用命令创建存储过程的方法;(3)熟悉使用命令创建函数的方法;(4)熟悉使用命令创建触发器的方法。实验内容(1)创建一个函数,以工程号为参数,返回该工程所在的城市,如果没有该工程,返回“无此工程”。createfunctionret_city(@jnochar(2))returnschar(20)asbegindeclare@citychar(20);ifnotexists(select*fromjwherejno=@jno)se

2、t@city='无此工程';elseselect@city=cityfromjwherejno=@jno;return@city;end(2)创建一个函数,以供应商号为参数,返回该供应商供应零件的总数量。如果不存在该供应商,则返回-100。createfunctionret_sl(@snochar(2))returnsintasbegindeclare@total_qtyint;ifnotexists(select*fromswheresno=@sno)set@total_qty=-100;elseselect@total_qty=sum(qty)

3、fromspjwheresno=@sno;return@total_qty;end(1)创建一个存储过程,以供应商号、工程号、零件号、供应量为参数,在SPJ表中插入一条记录,如果该记录已存在,显示“记录已存在!”,否则显示“插入成功!”。CreatePROCEDUREinsert_1@snochar(2),@pnochar(2),@jnochar(2),@qtyintASbeginifexists(select*fromspjwheresno=@snoandpno=@pnoandjno=@jnoandqty=@qty)Print‘记录已存在!’;e

4、lsebegininsertintospjvalues(@sno,@pno,@jno,@qty);print'插入成功!'endend(2)创建一个存储过程,以供应商号、工程号、零件号、供应量(新)为参数,修改SPJ表中某供应商给某工程供应某零件的供应量为新供应量,如果不存在该记录,则显示“无此记录!”,否则显示“修改成功!”。CreatePROCEDUREupdate_1@snochar(2),@pnochar(2),@jnochar(2),@qtyintASbeginifnotexists(select*fromspjwheresno=@sno

5、andpno=@pnoandjno=@jno)Print‘无此记录!’;elsebeginupdatespjsetqty=@qtywheresno=@snoandpno=@pnoandjno=@jno;print'修改成功!'endend(1)创建一个存储过程,以工程号为参数,删除J表及SPJ表中相应的记录,如果不存在该工程,显示“无此工程!”;如果该工程没有零件供应记录,显示“该工程没有供应记录,J表中记录已删除!”;如果该工程有零件供应记录,显示“已删除J表及SPJ表中的记录!”。CreatePROCEDUREdelete_1@jnochar(

6、2)ASbeginifnotexists(select*fromjwherejno=@jno)Print‘无此工程!’;elseifnotexists(select*fromspjwherejno=@jno)begindeletefromjwherejno=@jno;print'该工程没有供应记录,J表中记录已删除!'endelsebegindeletefromspjwherejno=@jno;deletefromjwherejno=@jno;print'已删除J表及SPJ表中的记录!'endend(2)创建入库表出库表上的六个触发器。入库修改:c

7、reatetriggerupdat_rkontab_rkforupdateasbegindeclare@old_spbhintdeclare@old_rkslintdeclare@new_spbhintdeclare@new_rkslintselect@old_spbh=spbhfromdeletedselect@old_rksl=rkslfromdeletedselect@new_spbh=spbhfrominsertedselect@new_rksl=rkslfrominsertedif@old_spbh=@new_spbhand@old_rk

8、sl!=@new_rkslbeginupdatetab_kcsetkcl=kcl-@old_rksl+@new_rkslw

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。