
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]
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.