教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

《数据库系统原理》实验报告(10)

来源:网络收集 时间:2026-08-02
导读: L_aavailqty INSERT; BEGIN L_valuediff=NEW.quantity;/*获得插入订单明细项的订购数量*/ /*查询当前订单明细项对应零件供应记录中的可用数量*/ SELECT availqty INTO L_availqty FROM PartSupp WHERE partkey=NE

L_aavailqty INSERT; BEGIN

L_valuediff=NEW.quantity;/*获得插入订单明细项的订购数量*/ /*查询当前订单明细项对应零件供应记录中的可用数量*/ SELECT availqty INTO L_availqty FROM PartSupp

WHERE partkey=NEW.partkey AND suppkey=NEW.suppkey;

IF (L_availqty-L_valuediff >=0) THEN BEGIN

/*如果可用数量可以满足订单订购数量,则提示ENOUGH*/ RAISE NOTICE’Availqty quantity is ENOUGH’;

/*修改当前订单明细项对应零件供应记录中的可用数量*/ UPDATE PartSupp

SET availqty=availqty-L_valuediff

WHERE partkey=NEW.part AND suppkey=NEW.suppkey; END; ELSE

/*如果可用数量不能满足订单订购数量,则插入过程异常中断*/ RAISE EXCEPTION ‘Available quantity is NOT ENOUGH’; END IF; END;

(3)在Lineitem表上定义一个BEFORE DELETE触发器,当删除订单明细时,该订单明细项订购的数量要归还对应的零件供应记录。

CREATE OR REPLACE TRIGGER TRI_Lineitem_Quantity_UPDATE BEFORE DELETE ON Lineitem FOR EACH ROW AS

DECLARE

L_valuediff INSERT; L_availqty INSERT; BEGIN

/*获得删除订单明细项的订购数量*/ L_valuediff=-OLD.quantity;

/*修改当前订单明细项对应零件供应记录中的可用数量*/ UPDATE PartSupp

SET availqty=availqty-L_valuediff

WHERE partkey=NEW.partkey AND suppkey=NEW.suppkey; END;

(4)验证触发器TRI_Lineitem_Quantity_UPDATE。

/*查看1854号订单第1个明细项的零件和供应商编号、订购数量、可用数量*/ SELECT L.partkey,L.suppkey,L.quantity,PS.availqty FROM Lineitem L,PartSupp PS

WHERE L.partkey=PS.partkey AND L.suppkey=PS.suppkey AND L.orderkey=1854 AND L.linenumber=1;

/*激活触发器,修改1854号订单第1个明细项的订购数量*/ UPDATE Lineitem SET quantity=quantity+5; WHERE orderkey=1854 AND lineitem=1;

/*再次查看1854号订单第1个明细项的相关信息,以验证触发器是否起作用*、 SELECT L.partkey,L.suppkey,L.quantity,PS.availqty FROM Lineitem L,PartSupp PS

WHERE L.partkey=PS.partkey AND L.suppkey=PS.suppkey AND L.orderkey=1854 AND L.Linenumber=1;

3. 删除触发器

删除触发器TRI_Lineitem_Price_UPDATE。

DROP TRIGGER TRI_Lineitem_Price_UPDATE ON Lineitem;

四、实验心得

通过本次实验,进一步了解了触发器的定义,初步掌握了数据库触发器的设计和使用方法,成功动手设置了BEFORE触发器和AFTER触发器。实验过程中,由于基础知识薄弱与实践经验匮乏,遇到了不少难题,好在有老师和同学的帮助克服了困难。经过实践,更激励了我们继续努力学习,打好基础。

实验项目名称:数据库设计实验 实验学时: 4 同组学生姓名: 孟陈、陈晓雪、季佰军 实验地点: 1318 实验日期: 6.16 实验成绩: 批改教师: 批改时间:

一、实验目的和要求

掌握数据库设计基本方法及数据库设计工具。

二、实验内容及过程

掌握数据库设计基本步骤,包括数据库概念结构设计、逻辑结构设计,物理结构设计,

数据库魔石SQL语句生成。能够使用数据库设计工具进行数据库设计。

三、实验结果与分析

设计一个采购、销售和客户管理应用数据库。其中,一个供应商可以供应多种零件,一种零件也可以有多个供应商。一个客户订单可以订购多种供应商供应的零件。客户和供应商都分属不同的国家,而国家按世界五大洲八大洋划分地区。请利用PowerDesigner或者ERwin等数据库设计工具设计该数据库。 …… 此处隐藏:161字,全部文档内容请下载后查看。喜欢就下载吧 ……

《数据库系统原理》实验报告(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/520026.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)