Rozdělení řetězce do více řádků pomocí dotazu nad tabulkou DUAL

Jednoduchým řešením jak rozdělit řetězec v Oracle do více řádků je využití možnosti kombinace dotazu nad „tabulkou“ DUAL a využití klauzule CONNECT BY. Vše si ukážeme na jednoduchém příkladu. [English version – How to select multiple rows from single line using a query over DUAL table] Představte si, že existuje následující řetězec: Tento řetězec potřebujeme…

PIPELINED FUNCTION aneb jak na data dynamicky

Výsledný SQL dotaz v Oracle databázi lze maximálně dynamicky ovlivnit/generovat pomocí takzvaných PIPELINED FUNKCÍ. Jejich použití si ukážeme na následujícím příkladu: [English version – PIPELINED FUNCTION – how to get data dynamically] Vytvoříme nové datové typy PersonType a PersonTypeSet Do těchto datových typů budeme ukládat naše data. Vytvoříme PIPELINED FUNKCI Podíváme se na data (SQL…

Jak rekurzivně rekompilovat invalidní objekty

Na rekompilování invalidních objektů v Oracle databázi jistě existuje  na internetu spousta skriptů. Přesto jsem se rozhodl napsat vlastní balík (package), která umí navíc z rekompilování vynechat objekty, které jsou v tu chvíli nežádoucí, nebo se u nich kompilace na dlouhou dobu „zasekne“  (mám tím na mysli například objekty, které obsahují propojení do vzdálené databáze…

Validace XML pomocí XMLSchema v databázi Oracle

Pokud chceme využít validaci XML dokumentů pomocí XML Schema v databázi Oracle 9i (a vyšší), je nutné nejprve zjistit, jestli vůbec vaše databáze tuto možnost podporuje. Zda databáze obsahuje potřebnou knihovnu zjistíte následujícím způsobem.: [English version – Validating XML with XMLSchema in Oracle database] Moje testovací databáze verze Oracle 9i obsahuje následujícím komponenty: comp_name Oracle9i…