我做了一個表格學生,其中有一個屬性評估。 現在我正在做一個觸發器,我希望如果我在評估中插入一個值爲零,那麼觸發器應該觸發並在audit_table中存儲一些值。 這裏是我的代碼無法在Oracle/iSQL中創建觸發器
Create table Student (Student_Id Number(8,2), Student_Name Varchar2(50), Gender Varchar(8), Telephone_No Number(15), Location Varchar2(200), Education Varchar2(100), Company_name Varchar2(200), No_of_attempt Number(2), Offering_Id Number(3) , EVALUATION NUMBER(2), Primary Key (Student_Id), Constraint fk_Oid Foreign Key (Offering_Id) References Course(Offering_Id));
而且現在的審計表的代碼
CREATE TABLE AUDIT_TABLE (STUD_NAME VARCHAR2(100), COURSE_NAME
VARCHAR2(100), INSTRUCTOR_NAME VARCHAR2(200), EVALUATION NUMBER (2)
);
現在我的主要問題,這是我的觸發不工作
create trigger tr_student
after insert or update on student
for each row
declare
s_name student.student_name%type;
s_eval student.evaluation%type;
s_offr_id student.offering_id%type;
s_course_name student.student_name%type;
s_instr student.student_name%type;
begin
if evaluation == 0;
s_offr_id =(select offering_id from student where evaluation==0);
s_eval =0;
s_name =(select student_name from student where evaluation==0);
s_course_name =(select course_name from course where offering_id==s_offr_id);
s_instr=(select name from instructor where offering_id==s_offr_id);
insert into AUDIT_TABLE values(s_name,s_course,s_instr,s_eval);
end;
是有一些問題,我的觸發器?
@Bart,以及新用戶將如何學會*不*使用全部大寫時,他們在網上寫? – zzzzBov
如果您使用PLSQL開發人員(也可能是其他工具)編譯觸發器,如果它是編譯錯誤,您將收到一個指示問題的錯誤。 – GolezTrol
@zzzzBov通過查看我所做的編輯以及隨後的編輯註釋。 – Bart