Autor | Zpráva | ||
---|---|---|---|
greno Profil * |
#1 · Zasláno: 11. 2. 2010, 17:07:25
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 |
#2 · Zasláno: 11. 2. 2010, 17:28:27
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 * |
#3 · Zasláno: 11. 2. 2010, 22:55:54
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 |
#4 · Zasláno: 12. 2. 2010, 01:19:51
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 * |
#5 · Zasláno: 13. 2. 2010, 23:58:52
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 * |
#6 · Zasláno: 14. 2. 2010, 00:00:03
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
|
||
Časová prodleva: 14 let
|
0