• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czym jest TIGGER w SQL?

0 głosów
146 wizyt
pytanie zadane 18 czerwca 2018 w SQL, bazy danych przez Nowy Obywatel (1,030 p.)
Otóż tostałem takie oto pytanie:

 

Co to jest trigger?
a) Procedura uruchamiana, gdy wywoływane jest jedno z poleceń INSERT, UPDATE, DELETE
b) Procedura uruchamiana po rzuceniu wyjątku
c) Procedura uruchamiana podczas odczytywania rekordów z bazy (SELECT)
d) Procedura, która może być bezpośrednio wywołana z innej procedury SQL

 

Prosiłbym o podanie poprawnej odpowiedzi. I gdyby ktoś mógł wyjaśnić swoimi słowami o co chodzi w tych TIGGERach to byłbym naprawdę wdzięczny.

2 odpowiedzi

+1 głos
odpowiedź 18 czerwca 2018 przez Wiciorny Maniak (66,560 p.)
edycja 19 czerwca 2018 przez Wiciorny

d) Procedura, która może być bezpośrednio wywołana z innej procedury SQL

z kolei pojawiła się tu odp A-  napisana przez kolege niżej, ona też jest poprawna, pytanie czy tylko jedna odp. ma byc poprawna? Jeśli nie to zarówno D I A  są poprawne, jak jedna: to tutaj skłonny jestem zmienić zdanie na odp A 

dlaczego ? BO mimo, że "d" jest też wykonywalna i poprawna, to słowo ' bezpośrednio ' trudno określić  od strony autora "co miał na myśli" 

Wyzwalacze (ang. trigger) to konkretna rekacja bazy danych na zdefiniowane wcześniej zdarzenie, związane z konkretną tabelą. Uruchamiają się automatycznie i można je wywołać tylko przez zdefiniowane zdarzenie.

NP. dodajesz trigera do bazy danych, który AUTOMATYCZNIE zapisze Ci "Czas tzw logger" kiedy jakiś użytkownik został dodany do bazy, tagiego trigera zapiusującego dodajesz bezpośrednio po WYKONANIU INSERTA DO bazy zeby tego nie robic :) ... ręcznie. W takiej sytuacji za kazdym razem kiedy poleci polecenie INSERTA DO bazy zostanie wykonane coś dodatkowego bez pisania z twojej strony ( tutaj bedzie to dodanie do bazy informacji o czasie np logowania ) 

1
komentarz 18 czerwca 2018 przez Nowy Obywatel (1,030 p.)
Serdecznie dziękuję
0 głosów
odpowiedź 19 czerwca 2018 przez CjanciK Bywalec (2,950 p.)
Witam,

Nie chciałbym się sprzeczać ale czy triggerem nie będzie odpowiedź A) ?

Według mnie trigger to taka "procedura", która zostanie automatycznie uruchomiona po wywołaniu jednego z poleceń INSERT, UPDATE, DELETE na tabeli na której taki trigger jest założony.

Czyli przykładowo mamy tabelę Pracownicy i zostaje tam dodany nowy pracownik (polecenie INSERT), i wtedy jeżeli mamy założony trigger na to zdarzenie możemy automatycznie dodać takiego pracownika do tabeli np. OdbiorcyNewslettera, wywołując tylko INSERT na tabeli Pracownicy.

Jeżeli się mylę to poprawcie.

pzdr
komentarz 19 czerwca 2018 przez Wiciorny Maniak (66,560 p.)
wiesz sprzeczałbym się bo ja tutaj widzę kilka poprawnych odpowiedzi, bo Odp. A nie jest błędna generalnie . Z tym, że odp. D też jest prawdiłowa tzn. nie jest błędna.
komentarz 19 czerwca 2018 przez CjanciK Bywalec (2,950 p.)
Z tym, że trigger nie jest chyba wywoływany bezpośrednio z procedury :P  Np. procedura robi insert na tabeli, wtedy to nie procedura wywołuje trigger lecz zdarzenie INSERT na tabeli. Tak mi się wydaje :D
komentarz 19 czerwca 2018 przez Wiciorny Maniak (66,560 p.)
ale możesz umieścić wywołanie trigera po nazwie bezpośrednio przy bardziej zaawansowanym złączeniu np.
komentarz 19 czerwca 2018 przez CjanciK Bywalec (2,950 p.)
Podasz jakiś przykład ? :) Bo myślę, że jeżeli masz rację to tak czy inaczej i tak łamię to znaczenie słowa "bezpośrednio", ale to już chyba bardziej kwestia interpretacji. Mimo wszystko gdybyś pokazał przykład byłbym wdzięczny. Zawsze chętnie uczę sie nowych rzeczy ;)

Podobne pytania

0 głosów
3 odpowiedzi 89 wizyt
pytanie zadane 7 września 2018 w SQL, bazy danych przez Sebastian Fojcik Nałogowiec (42,580 p.)
0 głosów
2 odpowiedzi 107 wizyt
0 głosów
1 odpowiedź 123 wizyt
pytanie zadane 5 stycznia 2018 w SQL, bazy danych przez Gucci Gaduła (4,470 p.)
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

65,755 zapytań

112,393 odpowiedzi

237,318 komentarzy

46,700 pasjonatów

Przeglądających: 123
Pasjonatów: 0 Gości: 123

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...