私はテーブルの生徒を作成しました。そこには属性評価があります。 今私は、私が評価でゼロの値を挿入し、次にトリガする必要があるトリガを作っていると、audit_tableにいくつかの値を格納して保存する必要があります。 はここに今、私のメインの質問は、これはOracle/iSQLでトリガーを作成できません
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;
私のトリガーといくつかの問題があるが動作していない私のトリガーである私のコード
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)
);
のですか?
@Bart、そして新しいユーザーは、オンラインで書くときにすべての大文字を使わない*ことを学ぶだろうか? – zzzzBov
PLSQL開発者(および他のツールも含む)を使用してトリガをコンパイルすると、コンパイルエラーの場合に問題を示すエラーが表示されます。 – GolezTrol
@zzzzBov私が行った編集とそれ以降の編集のコメントを見てください。 – Bart