Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PL/SQL] trigger
nieraczek
post
Post #1





Grupa: Zarejestrowani
Postów: 405
Pomógł: 6
Dołączył: 12.01.2007

Ostrzeżenie: (0%)
-----


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

Ten post edytował nieraczek 6.06.2007, 16:07:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
prond
post
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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ąć.


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:16