Quelles sont les différences entre DBMS_UTILITY.EXEC_DDL_STATEMENT
et EXECUTE IMMEDIATE
?Oracle: DBMS_UTILITY.EXEC_DDL_STATEMENT vs EXECUTE IMMEDIATE
Répondre
Fondamentalement, ils font la même chose, à savoir fournir un mécanisme pour exécuter des instructions DDL dans PL/SQL, qui n'est pas supporté nativement. Si la mémoire me sert bien, le EXEC_DDL_STATEMENT était disponible dans la version Oracle 7 du package DBMS_UTILITY, alors que SQL dynamique natif (EXECUTE IMMEDIATE) n'était introduit que dans 8.
Il existe plusieurs différences. EXECUTE IMMEDIATE concerne principalement l'exécution de SQL dynamique (comme son nom NDS l'indique). le fait que nous puissions l'utiliser pour DDL est instantané.
Mais la version de DBMS_UTILITY n'est pas conservée uniquement pour des raisons de compatibilité ascendante, mais elle a une astuce que nous ne pouvons pas faire avec EXECUTE IMMEDIATE - exécuter DDL de manière distribuée. Nous pouvons exécuter cette déclaration de notre base de données locale pour créer une table sur une base de données distante (fournissant notre utilisateur dispose des privilèges nécessaires là-bas):
SQL> exec [email protected]_db('create table t1 (id number)');
Je ne recommande pas, disons que tout cela peut être fait.
- 1. Oracle EXECUTE IMMEDIATE erreur
- 2. Oracle EXECUTE IMMEDIATE dans un curseur
- 3. EXECUTE IMMEDIATE dans plsql
- 4. question Oracle: execute immédiate
- 5. Comment obtenir un enregistrement en utilisant EXECUTE IMMEDIATE?
- 6. Pour exécuter dynamiquement dbms_utility.exec_ddl_statement
- 7. Comment résoudre ORA-00984 lors de l'utilisation de SQL dans EXECUTE IMMEDIATE?
- 8. Oracle vs Oracle ODBC
- 9. Problème avec Execute immedite
- 10. Oracle (RAC) vs NoSQL
- 11. Oracle, PDO_OCI vs OCI8
- 12. Oracle BLOB vs VARCHAR
- 13. Oracle VM vs serveur Xen
- 14. Char Vs Byte dans Oracle
- 15. IBM WebSphere vs Oracle Fusion
- 16. EXECUTE immédiate et mise à jour SQL
- 17. Paquetage Oracle absent parenthèse droite
- 18. Réinitialiser séquence dans oracle 11g
- 19. Comment déboguer Oracle SQL dynamique dans sqlplus?
- 20. DROP file d'attente Oracle
- 21. Oracle PLSQL ORA-39726 erreur
- 22. Afficher la sortie Dynamic EXECUTE dans pl/sql De sqlplus
- 23. Insérer des lignes dès que la table est créée - Oracle
- 24. Performance Oracle via SQLDeveloper vs application
- 25. Performances Sybase TEXT vs Oracle CLOB
- 26. Clause Oracle EXISTS Vs ROWNUM = 1
- 27. nHibernate vs Entity Framework avec Oracle backend
- 28. Grouper par vs Partition par dans Oracle
- 29. premier/dernier vs min/max. ORACLE. SQL
- 30. Tables IOT vs Heap dans Oracle
Je ne sais pas pourquoi quelqu'un a voté pour fermer cette rubrique comme "hors sujet". C'est une question sur les langages de programmation, qu'est ce qui ne l'est pas? – APC