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 39
Mar 192011
 

Oracle nabízí již od verze 10g možnost updatovat a insertovat data přímo do databázového pohledu. Osobně jsem rád za každou další funkcionalitu a každou další možnost, kterou Oracle databáze umožňuje ;)  Možnost updatování a insertování přímo do pohledu jsem snad ještě nikdy nevyužil a důvodů je hned několik. Například, když hledáte v ALL_SOURCE tabulce všechny scripty/balíky, které insertují “záhadně” data do nějaké tabulky, tak scripty, které insertují/updatují data přímo přes view musíme vzít v potaz také a tedy i delší hledání ale i spoustu vztekání, pokud si na takovouhle možnost nevzpomenete ;).

Pohledy, které lze updatovat přímo (tzn. bez nutnosti napsání triggeru INSTEAD OF) jsou však dost strikně omezené, select nesmí obsahovat :

  • Žádnou množinovou operaci (MINUS,INTERSECT, UNION)
  • DISTINCT
  • Agregační funkce (COUNT, MAX..)
  • GROUP BY
  • ORDER BY (podle manuálu, Oracle 11g to však pustí)
  • CONNECT BY
  • START WITH
  • JOIN
  • SUBSELECT v select listu (první část selectu s výběrem sloupcu)

Jestli je VIEW updatovatelné nebo není lze zjistit v pohledech _VIEWS tedy USER_VIEWS,  ALL_VIEWS, DBA_VIEWS.

 Posted by at 20:54

 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>