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…

Jak na zpracování XML s vícenásobnými uzly (XMLSequence v Oracle)

XML, které obsahuje vícenásobné uzly (tzv. multiple nodes) je nutné v Oracle databázi zpracovat funkcí XMLSequence. Ukážeme si její použití ve třech verzích. Nejprve s XML bez namespace, potom s nadefinovaným namespace a nakonec použití přímo v SQL výrazu. Co je to XML, případně namespace se dozvíte např. na W3Schools. [English version of the article…

„Indiáni“ učí instalovat Oracle na Linuxu

Na Ekvádorském serveru (EOUG) se rozhodli udělat něco pro začátečníky, kteří se chtějí naučit pracovat s databází Oracle. Po třicet dnů, budou zveřejňovat články o instalaci a zprovoznění Oracle serveru na Redhat Linux 5.1 32-bit. Články jsou anglicky s mnoha screenshoty. Myslím, že pro někoho to může být velmi přínosné. Kéž by něco takového bylo…

V bitvě Oracle vs. OpenSolaris bude pravděpodobně vítězem Linux

Během dne sleduji diskusi na Twitteru (kanál #oracle) kvůli ukončení podpory vývoje projektu OpenSolaris. Jak se zdá, tak vždy je něco špatné na něco dobré. V tomto případě to nahrává do karet Linuxu, který tím pravděpodobně získá další klienty. Začínají se totiž objevovat odkazy na howto typu „Jak migrovat z OpenSolaris na Linux“, jedním takovým…

Volání Webové služby (Webservice) v PL/SQL pomocí UTL_HTTP

Dnes si ukážeme, jak získat data z Webové služby (WebService) přímo v PL/SQL, jak jsem sliboval v předchozím článku. [English version – Calling Web Services in PL/SQL using UTL_HTTP package] K tomuto účelu potřebujete: Nástroj pro vývoj/testování webových služeb. Použijeme balíček SoapUI Prostředí SQL*Plus. Pro naše testy bude plně vyhovovat. Vytvoření testovací webové služby Vytvoříme…

Balíky UTL_HTTP, UTL_RAW a jejich využití pro metodu HTTP GET

Z databáze Oracle je možné pomocí balíku UTL_HTTP a UTL_RAW zasílat/přijímat dotazy z webového serveru. Na malé ukázce demonstruji jak tyto balíky použít. (V příkladu používám balík UTL_RAW z toho důvodu, že u některých webových serverů, možná i v kombinaci s verzí Oracle databáze, generuje funkce READ_TEXT Oracle EXCEPTION, občas se podaří dokonce vygenerovat coredump)….

SQL*Plus a historie příkazů v Linuxu pomocí rlwrap

SQL*Plus sám o sobě nemá implementovánu historii procházení mezi jednotlivými příkazy (výjimkou je poslední vykonaný příkaz, ten lze opětovně vyvolat pomocí „r“+Enter). V operačním systému Windows lze toto celkem dobře provést přes funkční klávesu F7, jak ukazuje následující obrázek. Elegantně lze listovat v historii vykonávaných příkazů. [English version – SQL*Plus and command history in Linux…

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…