Wpis z mikrobloga

#plsql #sql #oracle
Mam tabele użytkownicy z kolumnami id, imię, nazwisko
Kurła Mirki, napisałem sekwencję i triggera, które zwiększają mi kolumnę id w tabeli o 1 przed insertem.
I w insercie nie podaję id, bo to ogarnia trigger.
Chciałem napisać funkcję dodającą użytkownika. Ale przy tworzeniu funkcji musze podać to id.. jak to "obejść"?
  • 33
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 0
@janek_: nie powinien mieć id_wypozyczenia? Dlaczego? A nie jest tak, ze jeśli wypożycza coś, to powinien się w tabeli przy jego id pojawic id tego wypożyczenia?
Czy lepiej po prostu, żeby w tabeli wypożyczenia zawołać id użytkownika?
  • Odpowiedz
@trapist_e: wystarczy że w tabeli wypozyczenie masz rekord z informacją o tym kto i co (i kiedy) wypożyczył

poza tym, dany użytkownik mógłby przecież wypożyczyć jednocześnie więcej niż jedno auto :)
  • Odpowiedz
@trapist_e: ja bym pewnie napisał trigger, którego zadaniem jest uniemożliwienie dodania więcej niż jednego aktywnego wypożyczenia danego auta (zauważ, że dany samochód może być wypożyczany wielokrotnie, ale niejednocześnie)
pewnie również istnieją inne sposoby, poza triggerami

generalnie, polecam Ci poszukać w necie podobnych projektów (taka wypożyczalnia samochodowa prawie niczym się w działaniu nie różni od np. biblioteki ) i popatrzeć jak to jest tam rozwiązane
  • Odpowiedz
@janek_: kurde pomógłbyś, bo mam chwilową oracle'ową zaćmę xD
SQL command not properly ended

create or replace TRIGGER aktwyp
BEFORE INSERT ON "WYPOZYCZENIA"
  • Odpowiedz
nie mam, musiałbym jakieś wygibasy robić z wirtualnymi maszynami albo awsem żeby móc Ci pomóc, a nie mam czasu teraz
  • Odpowiedz