Warning: Declaration of Suffusion_MM_Walker::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /DISK2/WWW/plsql.cz/www/wp-content/themes/suffusion/library/suffusion-walkers.php on line 0
Feb 012014
 

Jedna z nejužitečnějších věcí, které máme nově k dispozici. Nyní je ve 12c možnost v SQL selectu uvést WITH sekci a v ní nově PL/SQL funkci, což je mazec ;) Rozhodl jsem se rozhodit to do dvou postů – protože je to samé možné udělat i s UPDATE, DELETE, INSERT i MERGE – ovšem je na to třebas nový hint WITH_PLSQL.

Zkrátka – nyní lze definovat PL/SQL funkce přímo v SELECTu. Nejprve možná pro připomenutí, jak vypadá klasické WITH:

with pojmenovano as
(select dummy as my_dummy from dual)
select
my_dummy
from pojmenovano;

A takto se tam dá naférkovu nyní natláskat PL/SQL funkce:

with function with_result(x varchar2) return varchar2
is
begin
return x|| ' - x';
end;
select
with_result(dummy) as with_result_on_dummy
from dual;

To by bylo asi vše k WITH a PL/SQL funkci. Ohledně omezení – platí stejná jako pro pro volání standardní funkce v selectu z databáze. Příště určitě WITH_PLSQL hint a jak se to dá použít v DML.

 Posted by at 11:52

 Leave a Reply

(required)

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>