初学oracle,做了个练习,虽然简单,但是为学习oracle开始建立一个感性的认识还是有用的。
数据库中有三张表 srz0119(sno,sname,ssex,sage,sdept), crz0119(cno,cname,ccredit) , scrz0119(sno,cno,score)
创建SRZ0119表。
创建CRZ0119表。
创建SCRZ0119表。
以下是在前表的基础之上对存储过程和触发器的一些练习。
执行存储过程的结果。
(2) 在JXGL 数据库中创建一存储过程并运行,从 S 表中根据学号查询并返回该学生的姓名和年龄。
创建存储过程
执行根据学号查找学生的姓名和年龄。
(3) 在JXGL数据库中创建一触发器,保证S表中学生的年龄在8-45岁之间。
创建触发器。
执行插入和跟新操作,引发触发器的执行。执行结果如下截图。
(4) 在JXGL 数据库中创建一触发器,当有学生选了某门课时,不能从 C 表中删除该课程。
创建触发器。
分别删除一门已经被选的课程和一门未被选的课程,结果如下截图。
练习中明白了存储过程,触发器的创建和使用的方式。触发器不能有参数,也不能子啊sql语句中之间执行,而存储过程可以。存储过程中当有多行记录被查询返回时,则要使用循环游标进行输出,并且打开serveroutput 语句是:set serveroutput on。在操作触发器时,像
中红框部分,写成:new.srz0119_sage>45就编译通不过。
数据库中有三张表 srz0119(sno,sname,ssex,sage,sdept), crz0119(cno,cname,ccredit) , scrz0119(sno,cno,score)
创建SRZ0119表。
创建CRZ0119表。
创建SCRZ0119表。
以下是在前表的基础之上对存储过程和触发器的一些练习。
(1) 在JXGL数据库中创建一存储过程并运行,从S表中查询所有女生的信息。
创建存储过程语句。
执行存储过程的结果。
(2) 在JXGL 数据库中创建一存储过程并运行,从 S 表中根据学号查询并返回该学生的姓名和年龄。
创建存储过程
执行根据学号查找学生的姓名和年龄。
(3) 在JXGL数据库中创建一触发器,保证S表中学生的年龄在8-45岁之间。
创建触发器。
执行插入和跟新操作,引发触发器的执行。执行结果如下截图。
(4) 在JXGL 数据库中创建一触发器,当有学生选了某门课时,不能从 C 表中删除该课程。
创建触发器。
分别删除一门已经被选的课程和一门未被选的课程,结果如下截图。
练习中明白了存储过程,触发器的创建和使用的方式。触发器不能有参数,也不能子啊sql语句中之间执行,而存储过程可以。存储过程中当有多行记录被查询返回时,则要使用循环游标进行输出,并且打开serveroutput 语句是:set serveroutput on。在操作触发器时,像
中红框部分,写成:new.srz0119_sage>45就编译通不过。