¿Cuáles son las diferencias entre DBMS_UTILITY.EXEC_DDL_STATEMENT
y EXECUTE IMMEDIATE
?Oracle: DBMS_UTILITY.EXEC_DDL_STATEMENT vs EXECUTE INMEDIATA
Respuesta
Fundamentalmente hacen lo mismo, que es proporcionar un mecanismo para ejecutar sentencias DDL en PL/SQL, que no es compatible de forma nativa. Si la memoria me sirve, el EXEC_DDL_STATEMENT estaba disponible en la versión Oracle 7 del paquete DBMS_UTILITY, mientras que SQL nativo SQL (EXECUTE INMEDIATA) solo se introdujo en 8.
Hay un par de diferencias. EJECUTAR INMEDIATO se trata principalmente de ejecutar SQL dinámico (como indica su nombre NDS). el hecho de que podemos usarlo para DDL es por el momento.
Pero la versión DBMS_UTILITY no se conserva solo por compatibilidad con versiones anteriores, tiene un truco muy bueno que no podemos hacer con EXECUTE IMMEDIATE - ejecutar DDL de forma distribuida. Podemos ejecutar esta declaración de nuestra base de datos local para crear una tabla en una base de datos remota (que proporciona nuestro usuario tiene los privilegios necesarios allí):
SQL> exec [email protected]_db('create table t1 (id number)');
no estoy recomendando esto, basta decir que se puede hacer.
- 1. ORACLE Enumeración de sentencias DDL dentro de Execute Inmediato
- 2. ventana inmediata
- 3. Oracle BLOB vs VARCHAR
- 4. Oracle, PDO_OCI vs OCI8
- 5. PDO :: query vs. PDOStatement :: execute (PHP y MySQL)
- 6. Javascript cierre evaluación inmediata
- 7. Ventana 'Inmediata' para IntelliJ
- 8. Ventana Inmediata sin depuración
- 9. ¿Cómo verifico qué esquema se ha otorgado el permiso EXECUTE en un objeto Oracle?
- 10. Comprender los resultados de Execute Explain Plan en Oracle SQL Developer
- 11. Función inmediata sintaxis de invocación
- 12. CSS selector de hijo inmediata
- 13. Forzar pintura inmediata en JavaFX
- 14. nHibernate vs Entity Framework con Oracle backend
- 15. tablas temporales globales - SQL Server vs Oracle
- 16. Grupo por vs Partición por en Oracle
- 17. HttpClient execute sigue dando ConnectTimeoutException
- 18. Qué usar: executeUpdate() o execute()?
- 19. problema usando 'ejecutar inmediata' en el Procedimiento PL SQL
- 20. Ejecutar inmediata dentro de un procedimiento almacenado sigue dando suficientes privilegios de error
- 21. Limpieza automática de ventana inmediata en Visual Studio
- 22. depuración multiproceso desde la ventana inmediata
- 23. Forzar disposición inmediata y pintura en Swing
- 24. Función de autoejecución inmediata y "esto"
- 25. AS3 - gotoAndStop con una acción inmediata
- 26. Tarea inmediata de una vez con Cuarzo
- 27. Salida inmediata del ciclo 'while' en C++
- 28. Mostrar Dynamic EXECUTE Salida dentro de pl/sql De sqlplus
- 29. ruby execute comando bash con variables
- 30. Oracle TIMESTAMP WITH TIMEZONE llamado zone vs offset
No estoy seguro de por qué alguien votó para cerrar esto como "fuera de tema". Es una pregunta sobre los lenguajes de programación, ¿qué hay fuera de tema sobre eso? – APC