-
obvykle se omezení DML týkají pouze příkazů modifikace (UPDATE, DELETE ...), takže SELECT by měl být v pořádku. Pokusím se najít konkrétní prohlášení od společnosti Oracle.
-
Pohledy by byly vaším prvním nástrojem k modularizaci běžně používaných dotazů.
-
Funkce mají oproti pohledům nevýhodu:pokud jsou volány z jiného SELECTu, nejsou provedeny ve stejném časovém okamžiku jako hlavní SELECT. Každé volání SELECT je konzistentní, ale protože SELECT jsou v kódu funkce a ne v hlavním SQL, můžete vrátit nekonzistentní výsledky. To není možné s pohledy a podvýběrem:pokud velký příkaz volá pohled, pohled se vytvoří ve stejném časovém okamžiku jako hlavní dotaz.
Aktualizovat :ohledně vašeho komentáře k parametrizovaným dotazům
Můžete sestavit parametrizované pohledy, tedy pohledy, které jsou závislé na proměnných nastavených před spuštěním. Zde je příklad na AskTom
ukazuje, jak byste to mohli udělat pomocí userenv('client_info')
nebo dbms_session.set_context
.