Autor Zpráva
greno
Profil *
mám takýto problém:
chcel by som si vyrobiť tabuľku v databáze (mysql) takú, čo by fungovala troška ako excel.
ide mi o to, aby keď vložím do prvých napr 7 stĺpcov údaje, tak sa mi v tých ostatných automaticky doplnili podľa nejakého vzorca.
nechcem to robiť cez nejaké php alebo niečo podobné, pretože to nebude možné spúšťať.

počul som o nejakých funkciách alebo skriptoch, ktoré nejak tak fungujú ale neviem ako presne to funguje a že či by sa to dalo spraviť automaticky

v exceli to robiť nechcem a ani nemôžem, pretože očakám tak 40-100M záznamov

za každú radu vopred ďakujem
TomášK
Profil
Pokud se ta data nemění příliš často (aby bylo potřeba výsledky funkí cachovat), lze použít VIEW, což něco jako uložený select, pro uživatele se chová jako by to byla tabulka. V nějaké tabulce budete mít uložená zdrojová data a poté vyrobíte VIEW, kde budou zobrazovaná tak, jak je potřebujete. Ale pokud si dobře pamatuju, tak MySQL ten VIEW počítá pokaždé znova. Druhá možnost je použít TRIGGERy, které se spustí pokaždé, když do tabulky vložíte data a můžou tedy předpočítat hodnoty podle vzorců.
greno
Profil *
naštudoval som si niečo o triggeroch a dozvedel som sa, že v mysql môže byť max 1 určitého typu (insert, delete..). neviete ako je to v iných databázach?
TomášK
Profil
Nevím, ale jeden trigger podle mě má funkčnost stejnou jako víc triggerů. Může obsahovat neomezeně příkazů, tedy naplnit všechny potřebné sloupce.
123456789
Profil *
V Oracle může být i více triggerů navázaných na jednu akci (before, after) s tím, že pořadí jejich spouštění můžeme ovlivnit klauzulí FOLLOWS v definici triggeru. Pokud tak neučiníme, Oracle ty triggery spustí dle nějakého náhodného pořadí. Více info lze dohledat zde:

http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/triggers.htm#g1041767
http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/create_trigger.htm#i2235611
http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/create_trigger.htm#BABGFHID
http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/create_trigger.htm#CJADJGIF
123456789
Profil *
Ještě přidám jeden link, který jsem zapomněl: http://technology.amis.nl/blog/2354/new-in-oracle-11g-the-follows-clause-in-create-trigger-statement

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0