sql - What do these trigger errors mean -


hey guys earlier. have ran new problem. few steps later in homework needed add additional part trigger. trigger needs subtract 1 number of copies. when number of copies hits 0 should display unavailable. have been trying last few hours figure out , came with. or suggestions appreciated!!

create or replace trigger unavailable_rule  before insert on transaction  each row  begin   if :new.date_rented_out  not null , :new.date_returned null , num_copies=1       update video    set num_copies = num_copies - 1,     status = 'unavailable'    vid_num = :new.vid_num;  else   num_copies = num_copies - 1;  end if;  end; / show errors;  6/4  pl/sql: sql statement ignored   7/15  pl/sql: ora-00971: missing set keyword   13/13  pls-00103: encountered symbol "=" when expecting 1 of f ollowing: := . ( @ % ;   14/2  pls-00103: encountered symbol "end"   

your update statement misformed. instead of:

update video    num_copies = num_copies -1    set status = 'unavailable' vid_num = :new.vid_num; 

assign num_copies in set:

update video    set num_copies = num_copies - 1,        status = 'unavailable'    vid_num = :new.vid_num; 

edit:

your if statement can replaced with:

update video     set num_copies = num_copies - 1,         status = (case when :new.date_rented_out  not null , :new.date_returned null , num_copies = 1 'unavailable'                        else status                   end)     vid_num = :new.vid_num; 

Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -