SQL Trigger?

Programovacie jazyky, rady, poradňa...
Aiden
Darca
Darca
Používateľov profilový obrázok
Príspevky: 2213
Registrovaný: 06 apr 2007, 14:28

SQL Trigger?

Príspevok od používateľa Aiden »

Zdravim, aktualne riesim taku hovadinu, ze mam v SQL tabulke stlpec s nejakou int hodnotou, ktora charakterizuje stav zariadenia. Po update tejto hodnoty potrebujem, aby sa namiesto okamziteho update najprv ulozila docasna int hodnota, ktora sa za x skund prepise na tu, ktora bola zadefinovana v update. Pre lepsiu predstavu:

Kód: Vybrať všetko

ORIG   ->   UPDATE `state`=>5 pre konkr. zaznam  ->   TEMP (x sekund)  ->   FINAL

`state`                                                   `state`          `state`
   1                                                         9                5
   1                                                         1                1
   2                                                         2                2
Bolo by to mozne vyriesit priamo v SQL napriklad pomocou nejakeho triggru?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: SQL Trigger?

Príspevok od používateľa audiotrack »

timer v triggeroch nie je nijak efektívne implementovaný, robí sa len prázdnym cyklom a porovnávaním časov. Takže omnoho lepšie riešenie by bolo prerobiť logiku. Odporúčam uložiť si tam finálnu hodnotu, a dočasnú hodnotu do druhého stlpca (alebo tabuľky) spolu s časom o X sekúnd vyšším, ktorý určuje platnosť tejto temp hodnoty. A potom pri získavaní hodnoty sa pozreš na platnosť hodnoty, ak je platná tak ju vezmeš, ak je neplatná tak vezmeš final (a v prípade riešenia cez druhú tabuľku ju z nej môžeš zmazať). Tým predídeš akýmkoľvek prázdnym cyklom (či už trigger v mysql lebo cron v php) čo bude určite efektívnejšie
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: SQL Trigger?

Príspevok od používateľa harrison314 »

podla mna by to slo spravit podobne ako navrhuje audio, ale cez pohľad
Aiden
Darca
Darca
Používateľov profilový obrázok
Príspevky: 2213
Registrovaný: 06 apr 2007, 14:28

Re: SQL Trigger?

Príspevok od používateľa Aiden »

Dakujem :) vyuzil som dalsiu tabulku na tieto temp hodnoty a sprava sa to ako potrebujem.

harrison314 S views som zatial este nepracoval. Ale ak budem mat chvilu volna, vyskusam to implementovat. Aj ked pri par desiatkach zaznamov, ktore mam, mi ta dalsia tabulka veci prilis nekomplikuje.
Napísať odpoveď