Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SET SERVEROUTPUT ON;
- --
- CREATE OR REPLACE FUNCTION pret_lista2 (id IN produse.id_produs%TYPE, categ IN produse.categorie%TYPE, discount IN produse.pret_lista%TYPE)
- RETURN produse.pret_lista%TYPE IS
- pret produse.pret_lista%TYPE;
- categorie_prod produse.categorie%TYPE;
- BEGIN
- SELECT pret_lista,categorie INTO pret,categorie_prod FROM produse WHERE id_produs = id;
- IF categ = categorie_prod THEN RETURN pret * (1 - discount);
- ELSE RETURN pret;
- END IF;
- END;
- BEGIN
- DBMS_OUTPUT.PUT_LINE(pret_lista2(3061,'hardware2',0.1));
- END;
- BEGIN
- DBMS_OUTPUT.PUT_LINE(pret_lista2(3061,'hardware1',0.1));
- END;
- --
- CREATE OR REPLACE TRIGGER pret_lista
- BEFORE INSERT OR UPDATE OF pret ON rand_comenzi
- FOR EACH ROW
- DECLARE
- id produse.id_produs%TYPE;
- categ produse.categorie%TYPE;
- BEGIN
- SELECT id_produs,categorie INTO id,categ FROM produse WHERE id_produs = :NEW.id_produs;
- CASE
- WHEN INSERTING THEN :NEW.pret := pret_lista2(id,categ,0);
- WHEN UPDATING THEN :NEW.pret := pret_lista2(id,categ,0);
- END CASE;
- END;
- INSERT INTO rand_comenzi VALUES (2354,3061,500,10);
- UPDATE rand_comenzi SET pret = 500 WHERE nr_comanda = 2354 AND id_produs = 3061;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement