Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Ayuda co esto

Estas en el tema de Ayuda co esto en el foro de Oracle en Foros del Web. Hola que tal amigos del Foro saben me han dejado un ejercicio y que me trae la cabeza pensando es sobre oracle y el problema ...
  #1 (permalink)  
Antiguo 25/06/2006, 21:48
 
Fecha de Ingreso: junio-2006
Mensajes: 3
Antigüedad: 17 años, 10 meses
Puntos: 0
Ayuda co esto

Hola que tal amigos del Foro saben me han dejado un ejercicio y que me trae la cabeza pensando es sobre oracle y el problema es el sgte

Crear un procedimiento para ingresar una fila a cualquier TABLA.
Debe tener en cuenta las siguientes consideraciones:
. Se asume la tabla es independiente (no esta relacionada con ninguna otra tabla)
. Al procedimiento debe recibir solo como argumento el nombre de la tabla.
. Los datos a ingresar deben ser de columna en columna, desde la 1era columna hasta la ultima, tantas columnas tenga la tabla.

SUGERENCIA: Pasos que debe seguir el procedimiento:
. Verificar que la tabla existe
. Recoger desde el diccionario la información de las columnas y sus tipos de datos para la tabla a la cual se ingresara 1 fila.
. Hacer el insert de los datos.

Lo que entiendo es que primero debo verificar que la tabla exista bueno aqui esta el procedmiento que me dice si la tabla existe o no pero luego de eso tengo que validar y recorrer los campos ahi esta mi duda y luego la insercion quiero saber si puedes ayudarme o orientame a armar la estructura para el procedimiento almacenado gracias de ante mano ante cualquier ayuda


Verficar si la tabla existe o no
----------------------------------------
create or replace procedure validTable(nombreTabla in varchar2(32), nombreEsquema varchar2(30))

return varchar

is

existe varchar2(1);

Begin

Select 'S' Into existe

From all_tables

Where table_name = upper(nombreTabla)

And owner = upper(nombreEsquema);



return existe;

Exception

When no_data_found then

existe := 'N';

return existe;

When too_many_rows then

existe := 'S';

return existe;

End;
  #2 (permalink)  
Antiguo 26/06/2006, 03:50
Avatar de Worp9975  
Fecha de Ingreso: mayo-2006
Ubicación: LV-426
Mensajes: 203
Antigüedad: 18 años
Puntos: 1
1) Validar que la tabla existe en el diccionario de datos
2) Recuperar la intensión (estructura de campos de la tabla) con sus tipos
3) Recuperar las restricciones de cada campo de la tabla
4) Armar una select dinámica para hacer el INSERT
5) Lanzar la select dinámica con la orden EXECUTE IMMEDIATE

Salu2
__________________
Time is the fire in which we burn
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:37.