[ salvaric @ 07.12.2015. 10:11 ] @
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.
[ salvaric @ 07.12.2015. 10:53 ] @
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.
[ bogdan.kecman @ 07.12.2015. 17:54 ] @
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)