当前位置:首页 > 数据库原理实验三
。
个输入参数)。 ? 还书日期为系统时间。 ? 图书的是否借出改为‘否’。
(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;
-可编辑修改-
共分享92篇相关文档