Вычитание данных

tetroid
Дата: 03.11.2008 15:32:48
Помогите пожалуйста новичку.
Есть 2 таблицы данных, условно наименование и заказ, в обоих колонка с количеством. Как реализовать изменение в первой таблице при изменение кол-ва заказа во второй. Т.е если мы имеем к примеру N единиц товара в наименовании кол-ва первой таблицы и указываем во второй что нам необходимо выдать M единиц этого же товара, то необходимо чтобы в первой таблице изменилось значение с N на (N-M).
dmidek
Дата: 03.11.2008 15:35:53
С помощью триггера на таблицу, конечно.
tetroid
Дата: 03.11.2008 15:38:10
Пожалуйста, если не сложно то можно пример по моему случаю.
dmidek
Дата: 03.11.2008 16:28:35
SQL> create table tab1
  2  as select 1 id1, 20 col1 from dual
  3  /
 
Table created
SQL> create table tab2
  2  as select 2 id1, 20 col1 from dual
  3  /
 
Table created
SQL> create or replace trigger trg_tab2
  2  after insert on tab2 for each row
  3  begin
  4  update tab1 set col1 = col1 - :new.col1
  5  where id1 = :new.id1;
  6  end;
  7  /
 
Trigger created
SQL> insert into tab2 values (1, 10)
  2  /
 
1 row inserted
SQL> commit
  2  /
 
Commit complete
SQL> select * from tab1
  2  /
 
       ID1       COL1
---------- ----------
         1         10
SQL> insert into tab2 select 1, 10 from dual union all select 1, 40 from dual
  2  /
 
2 rows inserted
SQL> commit
  2  /
 
Commit complete
 
SQL> select * from tab1
  2  /
 
       ID1       COL1
---------- ----------
         1        -40
 
SQL> 
tetroid
Дата: 04.11.2008 10:54:17
Спасибо большое.