DEClAREpriceINT,qUANTITYi
tSELECTpriceprice,qua
tityqua
tityFROMAgreeme
tWHEREprIVIderIDproviderIDANDcustomerIDcustomerIDANDPa
IDpartID1NSERTINTOBusi
essProviderID,CustomerID,PartID,Price,Qua
tityVALuesproviderid,customerID,PartID,pricequa
tityUPDATESupplySETqua
tityqua
tityqua
tityWHEREProviderIDprividerIDANDpartIDpartIDIFSELECTqua
tityFROMSupplyWHEREProideridproviderANDpartIDPartID0ROLLBACKTRANSACTlONTra
SNameDELETEFROMSupplyWHEREqua
tity0
f《数据库原理及应用》课程设计指导书数据库原理及应用》2008级计算机科学与技术专业
第16页共20页
UPDATEOfferToBuySETqua
tityqua
ttityqua
tityWHERECustomerIDcustomeridANDpartlDpartIDIFSELECTqua
dtityFROMOfferToBuyWHERECustomerIDCustomerIDANDpartIDpartlD0ROLLBACKTRANSACTIONTra
sNameDELETEFROMOfferToBuyWHEREqua
tity0COMMITTRANSACTIONTra
sName
为了使用方便这里定义了一个存贮过程;功能是完成从Agreeme
tt的一个元组到Busi
ess的一个元组的转化工作。这里考虑到了删除空的Suppiy和OfferTOBUY项,更加重要的是,这里考虑到了非法的Agreeme
t的情况,在一段时间后,由于供应商或者顾客修改数据,Agreeme
t可能就非法,这时就需要把这个事务废除,所以,这里检查了Supply表和OfferToBuy表中的数据,确保数据仍然正确。另外交易员,或者说交易所必须承担的一项任务是更新零件列表。这里在考虑顾客和供应商的时候÷并没有给予他们修改零件列表的权利,所以他们必须根据数据库中已有的项更新自己的供求信息。由于这个数据库实际上更加偏重于模型化,而不是一个实际环境中的数据库,所以在实现应用模型的时候我们还需要对这个数据库的模型作一些修改。由于本实验在模型设计上使用了MicrosoftTra
sactSQL的语法,因此以
上的数据库操作都是在SQLSERVER2000上测试通过的。
6实验数据示例:测试阶段
测试,(说明:1实验方案设计2测试,查找错误校正错误,检查是否符合用户的功说明:1实验方案设计2测试查找错误校正错误,性能要求。性能要求。)1.输入数据设计(1)插入零件信息;
i
serti
toPartColor,Name,Weight,I
trovaluesblack,stick,30,ofsteel;显示刚插人的零件id:selectidfromPartwhere
amestick;id11rowsaffected
不同的实验,id值可能不同。以后相应操作要保持前后一致就可以丁。
f《数据库原理及应用》课程设计指导书数据库原理及应用》2008级计算机科学与技术专业
第17页共20页
(2)插入供应商信息:
i
serti
toProviderName,password,Address,Tel,I
trovaluescoml,1234,北京,6543210,
othi
g;r