0
CREATE TABLE STUDENTS_1
(
NAME VARCHAR2(50)NOT NULL,
DIV VARCHAR2(5) CHECK (DIV IN ('E','F','G')),
MARKS NUMBER CHECK (MARKS <= 600),
GRADE VARCHAR2(5) CHECK (GRADE IN ('A','B','C'))
)
CREATE OR REPLACE TRIGGER MARKS
BEFORE INSERT OR UPDATE ON STUDENTS_1
FOR EACH ROW
BEGIN
IF (:NEW.MARKS>500)THEN
INSERT INTO STUDENTS_1(MARKS,GRADE)VALUES(:NEW.MARKS,'A');
ELSIF (:NEW.MARKS>400 AND:NEW.MARKS<500) THEN
INSERT INTO STUDENTS_1(MARKS,GRADE)VALUES(:NEW.MARKS,'B');
ELSE (:NEW.MARKS <400)
INSERT INTO STUDENTS_1(MARKS,GRADE)VALUES(:NEW.MARKS,'C');
END IF ;
END;/
我会插入标记到这个表,我想触发相应触发级到同一个表就什么标志着我正在进入和我”当我这样做时,我得到not enough values error
所以我想知道我在做什么可能还是有另一种方式?在同一表中插入触发插入后
“如果这是一个真正的问题,而不是家庭作业” - 我当然希望我们看到的有关班级,年级等的问题是现实世界的问题,因为如果他们是我认为我们可以合理地得出结论:教育机构正在聘请很多开发人员,他们提出了许多初级问题,因此可能会向雇主提供低于恒星级的应用程序。这让我认为有充足的设计和书面的课堂/学生/年级软件的巨大市场机会! '打扰我 - 我得走了...... :-) –