RE:Dif. entre exec y execute immediate
Espero te pueda ayudar lo siguiente:
EXEC[UTE]:
- Se usa en línea de comandos
- Ejecuta funciones, procedimiento, paquetes
- Una sentencia por cada ejecución
- Puede usar variables bind
Execute inmediate:
- Se usa dentro de un procedure
- Ejecuta sentencias (dml, ddl o dcl)
- Una sentencia por cada ejecución pero si se incluye dentro de un bucle lo ejecutas las veces que quieras
- Al estar dentro de un bucle, si es el caso, puedes asignarle distintos valores a la sentencia que desees ejecutar.
recuerda que también tienes el "@" para ejecutar ficheros con plsql.
(http://www.techonthenet.com/oracle/questions/script.php)
Urls:
http://www.java2s.com/Code/Oracle/PL-SQL/Executeimmediateforaninsertstatement.htm
http://www.mygnet.net/codigos/oracle/manejo_de_base_datos/codigo_para_el_borrado_masivo.1421
http://ora.u440.com/sqlplus/execute.html
Saludos,
Ricardo Rojas.