SoloCodigo

Bases de Datos => Oracle => Mensaje iniciado por: quickdunk en Martes 20 de Junio de 2006, 05:48

Título: Insert En Cualquier Tabla
Publicado por: quickdunk en Martes 20 de Junio de 2006, 05:48
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
Título: Re: Insert En Cualquier Tabla
Publicado por: JuanK en Martes 20 de Junio de 2006, 05:54
usa sql dinamico para crear la sentencia de acuerdo aun parametro de entrada que se presume sera el nombre de la tabla.
Título: Re: Insert En Cualquier Tabla
Publicado por: quickdunk en Miércoles 28 de Junio de 2006, 05:44
ME GUSTARÍA SABER CUALES SON LAS SENTENCIAS DE SQL DINAMICO Y PARA QUE SIRVEN.
Título: Re: Insert En Cualquier Tabla
Publicado por: JuanK en Miércoles 28 de Junio de 2006, 15:10
: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-->