Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Trrigers after update?

[es] :: MySQL :: Trrigers after update?

[ Pregleda: 1381 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.customer.telenor.rs.



+4 Profil

icon Trrigers after update?07.12.2015. u 10:11 - pre 101 meseci
Pozdrav,
da li je moguće formirati jedan triger za sve tabele?

Hoću da napravim tabelu history, u koju ću smestiti sve promeme nad svim kolonama u tabeli posle update-a. Našao sam na netu gomilu primera, al ono što ja hoću nema. U tabeli history sve izmene hoću da smestim u jednu string kolonu, npr. Old.value -> new.value samo nad slogovima koji su menjani.
Nikad izvini!
 
Odgovor na temu

salvaric
Novi Sad

Član broj: 53995
Poruke: 204
*.dynamic.isp.telekom.rs.



+4 Profil

icon Re: Trrigers after update?07.12.2015. u 10:53 - pre 101 meseci
Nešto kao:
Code:

IF OLD.FieldName != NEW.FieldName THEN
 SET @str = @str + OLD.FieldName + '->' + NEW.FieldName;

INSERT INTO tab_history VALUES (1,1,@str,now());
END IF;


al nedostaje for petlja ili šta li već koja će proći kroz sve kolone i ispitati ih, kako ne bi morao za svaku tabelu ispisivati sva polja i proveravati.
Nikad izvini!
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: Trrigers after update?07.12.2015. u 17:54 - pre 101 meseci
jedan triger nad vise tabela - ne, za takav history koristi binlog ili auditing plagin

mozda si mislio jedan triger nad vise kolona u jednoj tabeli? to moze kao sto si krenuo samo na zalost - rucno. ako proguglas nacices stored procedure koje dodaju takav triger (procitas is I_S koje sve kolone imas u tabeli i izgenerises sintaxu za kreiranje trigera i napravis triger koji si hteo)


 
Odgovor na temu

[es] :: MySQL :: Trrigers after update?

[ Pregleda: 1381 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.