Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem oracle loop select

Ahoj, potřeboval bych poradit a nasměrovat. Mám tabulku ve kterých mám uloženy dotazy (selecty) kontroly nad databází. Chci to zefektivnit at nemusím pouštět každý select zvlášt. Chtěl bych nějak napsat select, který mi projde všechny ty řádky tabulky, provede příslušný select a vrátí návratovou hodnotu 1 ok, 0 špatně. a vypíše mi to do nové tabulky. Nevíte jak postupovat? Očekávaný výsledek v příloze

díky všem za rady

[img][img]

Předmět Autor Datum
Veľmi som tomu neporozumel. Ale beriem to tak, že tie jednotlivé selecty ti vracajú tvoju požadovanú…
pozorovateľ 25.11.2019 20:40
pozorovateľ
Je to sice pohodlné, mít ty dotazy uložené v tabulce, ale když je spouštíš dynamicky, musí se pokažd… poslední
Jan Fiala 26.11.2019 06:51
Jan Fiala

Veľmi som tomu neporozumel. Ale beriem to tak, že tie jednotlivé selecty ti vracajú tvoju požadovanú hodnotu 1 alebo 0.
Ak je to tak, tak všetky selecty by som zlúčil unionom a výsledok bude sumárna tabuľka s výsledkami jednotlivých selectov. Každý select by som si označil..

Alebo, ak máš skutočne sql výraz niekde v tabuľke, tak potom ti môže pomôcť dynamic sql

Je to sice pohodlné, mít ty dotazy uložené v tabulce, ale když je spouštíš dynamicky, musí se pokaždé provést optimalizace dotazu, což je režie navíc.
Jaká je výhoda to skladovat takto místo toho, aby sis napsal skript (proceduru), který bude obsahovat a souštět postupně všechny dotazy a výsledek klidně insertovat do nějaké tabulky? Bude to optimalizované, nacachované...

Pokud trváš na svém řešení, podívej se na LOOP ... END LOOP. Projdeš postupně všechny záznamy v tabulcepro každý řádek spustíš dotaz a zapíšeš výsledek.

Zpět do poradny Odpovědět na původní otázku Nahoru