Native-Dynamic-SQL
Oft ist die Syntax von Anfragen zum Zeitpunkt der Entwicklung unbekannt. Der Entwickler möchte die Anfragen zur Ausführungzeit selbst bestimmen und je nach Erfordernis selbst zusammenstellen. Dieses Vorgehen wird als dynamisches SQL bezeichnet.
Oracle bietet zwei PL/SQL-PACKAGES an die diese Anforderung unterstützen:
- NDS (native dynamic sql) mit dem Befehl EXECUTE IMMEDIATE?
- DBMS_SQL, was das ältere Package ist, das nun nicht mehr unterstützt wird.
Beide PACKAGES können aber auch noch andere SQL-Anweisungen in PL/SQL-Blöcken ausführen, die ohnedem nicht ausführbar sind:
- DDL-Anweisungen wie CREATE, ALTER, DROP etc.,
- DCL wie GRANT, REVOKE etc. und
- SESSION CONTROL-Anweisungen wie ALTER SESSION
Quellen:
- Faeskorn-Woyke, Heide; Bertelsmeier, Birgit; Riemer, Petra; Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, München, 2007, ISBN 978-3-8273-7266-6
- Feuerstein, Steven, Pribyl. Bill: "Oracle PL/SQL Programming", O'Reilly, 2009, ISBN-13: 978-0596514464
- Oracle® Database SQL Language Reference 11g Release 1 (11.1) in http://docs.oracle.com/cd/B28359_01/server.111/b28286/toc.htm
- Oracle® Database PL/SQL Language Reference 11g Release 2 (11.2) in http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/toc.htm
- Saurabh, Gupta: "Oracle Advanced PL/SQL Developer Professional Guide", Packt Publishing Limited, 2012, ISBN 978-1-84968-722-5
Kategorie: Oracle-PL-SQL, SQL, Objektrelationales SQL, N