¿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. Ventana 'Inmediata' para IntelliJ
- 7. Ventana Inmediata sin depuración
- 8. Javascript cierre evaluación inmediata
- 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. CSS selector de hijo inmediata
- 12. Función inmediata sintaxis de invocación
- 13. Forzar pintura inmediata en JavaFX
- 14. tablas temporales globales - SQL Server vs Oracle
- 15. nHibernate vs Entity Framework con Oracle backend
- 16. Grupo por vs Partición por en Oracle
- 17. Qué usar: executeUpdate() o execute()?
- 18. HttpClient execute sigue dando ConnectTimeoutException
- 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. Función de autoejecución inmediata y "esto"
- 23. Tarea inmediata de una vez con Cuarzo
- 24. depuración multiproceso desde la ventana inmediata
- 25. Forzar disposición inmediata y pintura en Swing
- 26. AS3 - gotoAndStop con una acción inmediata
- 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 Merge vs Seleccione luego Insertar o Actualizar
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