[ FranjoZG @ 12.08.2017. 20:42 ] @
Do sada radio na Firebird bazi, sada moram nešto na MySQL.
Firbird ima, a za MySQL ne mogu pronaći

Code:

POST EVETN 'Neki Tekst'


Prog. radim s Delphi XE 10.1 postoji kontrola koja hvata evente i obrađuje ih.

U Firebirdu se post event postavi u triger After Update ili After Insert na nekoj tablici, a "Neki Tekst" se postavi ime tablice i onda prog. zna kada je neki drugi korisnik izmjenio/dodao record u neku tablicu.

Kako to riješiti u MySQL-u?
[ nkrgovic @ 12.08.2017. 21:33 ] @
Imas sve lepo u Dokumentaciji

Code:
CREATE TRIGGER trigger_name
AFTER INSERT
   ON table_name FOR EACH ROW

BEGIN

....

END;


[ FranjoZG @ 12.08.2017. 22:33 ] @
nkrganovic,
ne vidim gdje je tu "POST_EVENT" ...

U Firebirdu to radi ovako:

U trigeru kažem: POST_EVENT 'Tablica1'

ta naredba šalje poruku svim klijentima koji su trenutno spojeni na bazu.

U progr. staviam kontrolu koja hvata te evente, bez posebne akcije na njoj. Kada baza pošalje event, kontrola dobije podatak o nazivu eventa, pa ako je to onaj koji ti treba, izvršiš kod. Npr:

Code:

procedure Tdm.FDEventAlerter1Alert(ASender: TFDCustomEventAlerter;  const AEventName: string; const AArgument: Variant);
begin
  if AEventName = 'Tablica1' then ShowMessage('Upis u tablicu 1');
end;


Ako bilo tko, sa bilo kog kompa napravi izmjenu na tablici1, program će bez obzira što trenutno radi ispisati poruku: "Upis u tablicu 1", bez da ti prije toga izvršiš SQL ili bilo što.
[ dusans @ 12.08.2017. 22:40 ] @
Nema toga.
SQL Server je čist RDBMS a ne neki hibrid tipa FoxPro, Access, itd...
koji radi od svega po malo - sačuvaj me bože...

Na tebi je a ne na SQL Server-u kako ćeš da rešavaš
probleme konkurentnih izmena podataka.
[ nkrgovic @ 13.08.2017. 11:53 ] @
Sad vidim da je u forum MS SQL, a ti si u tekstu pitao za MySQL - ajde da vidimo koji od ta dva? :)

U svakom slucaju, ni na MySQL nemas opciju da ti saljes "signal" zakacenom klijentu, trigger moze da manipulise podacima u tabeli, ali ne moze da komunicira sa klijentom na taj nacin.
[ mmix @ 13.08.2017. 18:01 ] @
Zapravo MSSQL ima integrisani add-on koji se zove Notification Services i koji je enterprise level implementacija koja izmedju ostalog moze da radi i table change eventing.
[ nkrgovic @ 14.08.2017. 07:17 ] @
Jos da OP kaze da li prica o MS SQL ili MySQL.
[ Branimir Maksimovic @ 14.08.2017. 08:07 ] @
Postgres ima to. Guglni Listen/Notify. Ako mozes da biras bazu/