Oracle 11g XE ignores my statment after putting value form variable in trigger -


i want specification doctor , department tables make sure manager of department same specification of while inserting ..

create or replace trigger check_dept_man after insert on department each row declare spec varchar2(30); dept_name varchar2(30); begin dept_name := :new.dept_name; select dr_specialisation spec doctor dr_id= :new.manager_id; if ( dept_name != spec ) raise_application_error(-20353,"error man"); end if; end; 

this error get:

enter image description here

this department table:

create table  "department"     (    "dept_id" number(3,0),      "dept_name" varchar2(30),      "manager_id" number(3,0),      "manage_date" date,      "location" varchar2(6),      "number_of_doctors" number(3,0),      "number_of_nurses" number(3,0),      constraint "dept_id_pk" primary key ("dept_id") enable,      constraint "dept_name_uq" unique ("dept_name") enable     ) ; 

and doctor :

create table  "doctor"     (    "dr_id" number(5,0),  "dr_name"  "full_name" ,  "dr_gender" varchar2(6),  "dr_specialisation" varchar2(30),  "dr_location"  "location_ty" ,  "dept_no" number(3,0),  "total_surgery_time" number(4,0),   constraint "dr_gender_is" check (dr_gender in ('male','female')) enable,   constraint "dr_id_pk" primary key ("dr_id") enable   ) ;  alter table  "doctor" add constraint "dr_dept_fk" foreign key ("dept_no")   references  "department" ("dept_id")  

the whole thing ' , .. spent day silly mistake .. @kordirko , guys

thanks @kordirko observation, should work:

create or replace trigger check_dept_man     before insert on department     each row declare     spec varchar2(30);     dept_name varchar2(30); begin     dept_name := :new.dept_name;     select dr_specialisation spec doctor dr_id= :new.manager_id;     if dept_name != spec         raise_application_error(-20353, 'error man');     end if; end; / 

Comments

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -