数据库原理实验三

loading 分享 2026-8-21 下载文档

个输入参数)。 ? 还书日期为系统时间。 ? 图书的是否借出改为‘否’。

(2)问题及解决方案

1)问题一:步骤一无法执行

原因:已创建的table中无“借书”项

解决方案:将原代码中的“借书”改为“借阅”

2)问题二:步骤二中出现无法识别的符号

原因:将英文分号误写为中文分号

解决方案:修正为英文分号“;”

-可编辑修改-

四、思考与总结

(1)书写存储语句时,应注意涉及的表格和属性名应与创建表格时相同 (2)注意区分中英文符号,避免出现符号无法识别以及程序没有结尾等错误 (3)注意空格的使用,避免出现缺少或多余的空格,造成语法错误

五、附:实验完整源代码

1、CREATE OR REPLACE PROCEDURE PRO_借书功能 (VAL_借阅流水号 IN 借阅.借阅流水号%TYPE, VAL_借书证号 IN 借阅.借书证号%TYPE, VAL_图书编号 IN 借阅.图书编号%TYPE) AS BEGIN

INSERT INTO 借阅(借阅流水号,借书证号,图书编号,借书日期) VALUES

(VAL_

借阅流水号

,VAL_借书证号

,VAL_图号,TO_CHAR(SYSDATE(),'YYYY/MM/DD') );

UPDATE 图书 SET 是否借出='是' WHERE 图书.图书编号 =VAL_图书编号; DBMS_OUTPUT.PUT_LINE(' 本次借书操作完成! '); END;

2、CREATE OR REPLACE PROCEDURE PRO_预约功能 (Y_预约流水号 IN 预约.预约流水号%TYPE, Y_借书证号 IN 预约.借书证号%TYPE,

-可编辑修改-

书编

Y_ISBN IN 图书.ISBN%TYPE) AS

Y_NUMBER BINARY_INTEGER; BEGIN

SELECT COUNT(*) INTO Y_NUMBER FROM 图书 WHERE 图书.ISBN=Y_ISBN AND 图书.是否借出='否'; IF Y_NUMBER=0 THEN

INSERT INTO 预约(预约流水号,借书证号,ISBN,预约时间)

VALUES(Y_预约流水号,Y_借书证号,Y_ISBN,TO_CHAR(SYSDATE(),'YYYY/MM/DD')) ; DBMS_OUTPUT.put_line('可执行预约!'); ELSE

DBMS_OUTPUT.put_line('该书可借,请查找!'); END IF; END;

3、CREATE OR REPLACE PROCEDURE PRO_还书功能 (VAL_借书证号 IN 借阅.借书证号%TYPE, VAL_图书编号 IN 借阅.图书编号%TYPE, VAL_罚款分类号 IN 借阅.罚款分类号%TYPE) AS

VAL_TIME DATE;

-可编辑修改-


数据库原理实验三.doc 将本文的Word文档下载到电脑
搜索更多关于: 数据库原理实验三 的文档
相关推荐
相关阅读