数据库原理 实验四 存储过程与触发器、函数

数据库原理 实验四 存储过程与触发器、函数

ID:39580153

大小:167.00 KB

页数:7页

时间:2019-07-06

数据库原理 实验四 存储过程与触发器、函数_第1页
数据库原理 实验四 存储过程与触发器、函数_第2页
数据库原理 实验四 存储过程与触发器、函数_第3页
数据库原理 实验四 存储过程与触发器、函数_第4页
数据库原理 实验四 存储过程与触发器、函数_第5页
资源描述:

《数据库原理 实验四 存储过程与触发器、函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2012级计算机专业集美大学计算机工程学院2013~2014年第一学期《数据库原理》实验报告题目:实验四存储过程与触发器、函数学号:成绩班级:计算12日期:2014.05姓名:指导老师:林颖贤一、实验目的:1、掌握创建存储过程的方法和步骤;2、掌握创建触发器的方法和步骤;3、掌握用户自定义函数的类型及使用方法。二、实验使用环境:Windows7x64、SQLServer2005三、实验内容与完成情况:1、增加一张库存表Inventoy,包括:商品编号、价格、库存数量、入库时间(默认值为系统时间)。createtableInventory(Goo_nochar(8)n

2、otnull,Inv_numintnull,Inv_datedatetimenotnull,primarykey(Goo_no,Inv_date));ALTERTABLEInventoryADDCONSTRAINTInv_datedefaultgetdate()forInv_date;select*fromInventory2、从Purchase(进货表)和Sell(销售表)中备份空记录表:PurchaseBak和Sell1Bak。if(notexists(selectnamefromsysobjectswherename='PurchaseBak'))(selec

3、t*intoPurchaseBakfromPurchasewhere(1=0))if(notexists(selectnamefromsysobjectswherename='SellBak'))(select*intoSellBakfromSellwhere(1=0))2012级计算机专业集美大学计算机工程学院2013~2014年第一学期3、创建一个触发器。向进货表中插入一条记录时,这个触发器都将更新库存表。如果库存有该类商品时,那么该商品的进价即为两次进价的平均值(因为每次的进价可能会不相同),库存量为原有库存加该次进货数量;(算法为:(库存商品进价*库存量+进

4、货价*进货量)/(库存量+进货量);如果没有该商品,则插入到库存表中。createtriggertri_PurchaseonPurchaseforinsertasbegindeclare@Pur_pricesmoney,@Pur_numint,@Goo_nochar(8),@Inv_numint,@Inv_pricesmoneyselect@Goo_no=Goo_no,@Pur_num=Pur_num,@Pur_prices=Pur_pricesfrominsertedif(@Goo_noin(selectGoo_nofromInventory))beginsele

5、ct@Inv_prices=Inv_prices,@Inv_num=Inv_numfromInventorywhere(@Goo_no=Goo_no)updateInventorysetInv_prices=(@Inv_prices*@Inv_num+@Pur_prices*@Pur_num)/(@Inv_num+@Pur_num),Inv_num=(@Inv_num+@Pur_num),Inv_date=getdate()where(Goo_no=@Goo_no)endelseinsertintoInventory(Goo_no,Inv_prices,Inv_nu

6、m,Inv_date)values(@Goo_no,@Pur_prices,@Pur_num,getdate())endinsertintoPurchase(Pur_no,Pur_prices,Pur_num,Pur_date,Goo_no,Emp_no)values(106,3600,20,'2014-5-19','JY000001',1001)select*fromInventoryinsertintoPurchase(Pur_no,Pur_prices,Pur_num,Pur_date,Goo_no,Emp_no)values(106,3200,50,'201

7、4-5-22','JY000001',1001)select*fromInventory4、创建一个触发器。向销售表中插入一条记录时,这个触发器将更新库存表。库存量为原有库存量减去销售数量。如果库存数量少于10,则显示”该商品库存数量少于10,请及时进货”;如果库存不足,则显示:“‘库存不足’”。2012级计算机专业集美大学计算机工程学院2013~2014年第一学期createtriggertri_SellonSellforInsertasbegindeclare@Sell_numint,@Inv_numint,@Goo_nochar(8)select@Sell

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

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

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