Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PL/SQL] trigger
Forum PHP.pl > Forum > Bazy danych
nieraczek
Napisać trigger, który uniemożliwi klientom z Warszawy zakup towarów o kodach kreskowych:
8000900700202 i 80002909800111.

Zrobiłem to tak - uniemożliwia zamawianie tych towarów przez nikogo, a powinno być tylko dla klientów z Warszawy - może ktoś wie co zrobić?
  1. CREATE OR REPLACE TRIGGER aa
  2. before INSERT ON bd2_pozycje_zamowien
  3. FOR each row
  4. begin IF(:old.kod_kreskowy='8000900700202' OR :old.kod_kreskowy='80002909800111') then
  5. raise_application_error(-20001,'blad');
  6. end IF;
  7. end;
  8. /


Tabela bd2_pozycje_zamowien składa się z:
ID_ZAMOWIENIA
NUMER_POZYCJI
KOD_KRESKOWY
ILOSC

Tabela bd2_zamowienia składa się z:
ID_ZAMOWIENIA
ID_KLIENTA
ID_PRACOWNIKA
DATA_ZAMOWIENIA
DATA_OPLACENIA

Tabela bd2_klienci składa się z:
ID_KLIENTA
NAZWISKO
IMIE
ULICA_I_NUMER_DOMU
MIASTO
KOD_POCZTOWY
TELEFON
prond
To jest trigger before więc musisz zwrócić :new, żeby wykonał się insert.
Żeby anulować insert zwraca się najprawdopodobniej FALSE, ale ręki sobie nie dam uciąć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.