Bases de Datos > Oracle

 Insert En Cualquier Tabla

(1/1)

quickdunk:
Necesito saber como hacer un insert en una tabla cualquiera con un procedimiento almacenado que realice el insert en cualquier tabla, es decir el mismo procedimiento almacenado para insertar en la tabla employees, jobs,departments, etc...

Gracias de antemano

JuanK:
usa sql dinamico para crear la sentencia de acuerdo aun parametro de entrada que se presume sera el nombre de la tabla.

quickdunk:
ME GUSTARÍA SABER CUALES SON LAS SENTENCIAS DE SQL DINAMICO Y PARA QUE SIRVEN.

JuanK:
:rolleyes:
Bueno no puedo desde luego extenderme tanto poruw seria un curso de PL/SQL.

Pero a grandes razgos las sentencias que conozco son:

EXECUTE IMMEDIATE

y el package

DBMS_SLQ

Para que sirven... pues no se como explicarlo mejor... para ejecutar SQL DINAMICO, es decir a veces necesitas crear una sentencia SQL pero no sabes como queda sino en el momento de la ejecucion del programa, asi que durante el programa tu creas una cadena de texto sql o pl/sql de acuerdo a lo que vallas necesitando, y luego para ejecutarla invocas uno de estos dos procedimientos.

Un ejemplo muy básico ( y poco funcional)seria:

<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->CREATE OR REPLACE PROCEDURE MiProcedure( nombreTable VARCHAR2,nombreColumna VARCHAR2 )
IS
cadena VARCHAR2;
BEGIN cadena := '[color=blue;font-weight]DELETE '[/color]||nombreTable
               ||' WHERE '||nombreColumna ||' IS NULL';

  EXECUTE IMMEDIATE cadena;
END; <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->

Navegación

[0] Índice de Mensajes

Ir a la versión completa