Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Trigger & mySQL
Forum PHP.pl > Forum > Bazy danych > MySQL
jureusz
Gdzie moge znalezc cos wiecej na temat trigger'a w mySQL'u ?
Moze ktos z was juz cos robil z triggerami w mySQL'u i podzieli sie ze mna wiedza smile.gif ?
DeyV
wydaje mi się, że najlepiej szukać tu:
http://www.mysql.com/doc/search.php?q=trig...l.com&doc=1&m=o

Ale chyba możesz za dużo nie znaleść, ponieważ
Cytat
Stored Procedures and Triggers Stored procedures are implemented in MySQL version 5.0

Czy było coś wcześniej - nie słyszałem nic na ten temat.
jureusz
Nie za dobrze to wyglada:/
Generalnie chodzi mi o wyzwalacz, ktory by usuwal odpowiednie rekordy po okreslonym czasie np. 7 dni. Np.: Sprawdza czy minelo 7 dni od wprowadzenia rekordu do bazy, jezeli tak to usuwa ten rekord pod warunkiem ze "jakies tam" pole ma np. wartosc NULL.

Jakies pomysly?
DeyV
Mam jakieś dziwne wrażenie, że takiego wyzwalacza nie da się przygotować w żadnej znanej mi bazie.

Można jednak zrobić to inaczej, np. wywołując odopwiednie zapytanie przy każdej odsłonie strony, kązdym logowaniu klienta, albo nie częsciej niż godzinę, dzięki zapisywaniu gdzieś jakiejś flagi z datą ostatniego wywołania tego zapytania.
Seth
Cytat
Mam jakieś dziwne wrażenie, że takiego wyzwalacza nie da się przygotować w żadnej znanej mi bazie.

W Oraclu dalo by sie cos podobnego wykombinowac i chyba w PostgreSQL.
jureusz
Moge po prostu skrypt do crona wrzucic...
Problem w tym ze mialem nadzieje ze mozna to stworzyc w mysql'u ale widocznie sie nie da :/
DeyV
Według mojej wiedzy procedury wyzwlalane w PG mogą być podpięte tylko pod zdażenia typu Insert, Update, lub Delete.
W tym przypadku nic nam by to nie dało - sprowadzałoby się to przecież i tak do wywołania jeszcze jedego zapytania przy każdej akcji.
Natomiast baza ta nie ma (z tego co wiem) możłiwości podpięcie triggera pod jakiś fakt związany z rekordem danych.

Nie wiem natomiast jak wygląda to w Oraclu, ale sądzę, że podobnie.
jureusz
Dokladnie tak samo wyglada to w Oraclu...

To tak na szybko znalezione. Jak ktos chce poczytac to punkt 13. wyzwalacze.

http://www.dbf.pl/faq/plsql_podstawy.html

Doszukalem sie tez skladni tworzenia triggera w mysql'u:

http://dev.mysql.com/doc/maxdb/en/a7/41ee0...261/content.htm

DeyV tutaj tez to wyglada tak jak napisales

Cytat
mogą być podpięte tylko pod zdażenia typu Insert, Update, lub Delete
FiDO
Dlatego jedynym slusznym wyjsciem z sytuacji bedzie uzycie crona.
Nie wymagajmy od baz danych, zeby mialy wbudowane jakies harmonogramy zadan... od tego jest cron.
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.