vytvorenie tabulky
=============================================
Kód:
create table furniture(
furniture# varchar2(5) constraint pk_furniture# primary key,
furniture_name varchar2(30) not null,
material varchar2(4)
constraint material_check
check (material in ('oak', 'ash', 'pine')),
length number not null,
depth number not null,
height number not null,
price number not null,
volume number
);

spustenie triggeru ktory by MAL updatnut VOLUME ale zial neupdatne
=========================================
Kód:
CREATE OR REPLACE TRIGGER update_volume
BEFORE INSERT OR UPDATE ON furniture
FOR EACH ROW
BEGIN
UPDATE furniture
SET volume = height * depth * length
WHERE furniture# = :new.furniture#;
END;
/
a nakoniec vlozim data
=========================================
Kód:
INSERT INTO furniture (furniture#, furniture_name, material, length, depth, height, price, volume) VALUES ('F0001', 'Large square cushion', 'oak', '180', '70', '70', '500','');

Problem je v tom ze ked si pozrem ci tabulka obsahuje volume ktore som vypocital v triggery ako vyska* sirka*hlbka tak to pole je prazdne pretoze zrejme ho prepise pri inserte kde vkladam prazdny retazec, ale v skutocnosti by tam malo byt volume(objem). Serem sa s tym 2 hodiny ale nejako to nechce pocitat .... Nejaka rada co robim zle?

CHCEM ABY MY TABULKA OBSAHOVALA POLICKO VOLUME KTORE JE PRAZDNE, CIZE CHCEM ABY PRI VKLADANI SA AUTOMATICKY VYPOCITAL OBJEM PODLA VYSKY SIRKY HLBKY CO VSAK NEFUNGUJE
//zdrojak patri do code! (stenley)