Oracle编写触发器

来源:百度知道 编辑:UC知道 时间:2024/05/28 18:57:00
编写一个触发器检查某个学生是否有选择某门课的资格,例如“男子排球”课程只对2年级男同学开放,触发器完成选课动作执行时的条件检查工作。

相应的表格结构如下:

SQL> desc course_record;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------

STUDENT_ID NOT NULL VARCHAR2(10)
COURSE_ID NOT NULL VARCHAR2(10)
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------

CID NOT NULL VARCHAR2(10)
COURSENAME NOT NULL VARCHAR2(20)
CREDIT NOT NULL NUMBER(38)
RESTRICT_GRADE NOT NULL NUMBER(38)
RESTRICT_MAJOR NOT NULL VARCHAR2(10)
CAPABILITY NOT NULL NUMBER(38)
名称

问题1:几个表都是干什么的,有中文注释吗?
问题2:你说的这个好像不是触发器的功能,好像是存储过程的功能
问题3:有什么主外键关联也标示一下
----------补充--------
你的意思是当往course表里插入数据的时候,并且往student插入数据的时候,如果插入的数据course.restrict_grade和student.grade相等,则在中间表course_record也插入一条?

不知道我理解的对不对,实现这个功能最简单的方法是采用视图,也就是把course_record表改成一个视图,可能不符合你要求,你先把上边问题回答完了我再给你写吧