Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Oracle > Ayuda
-Foros de debate

Oracle
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Ayuda
Enviado por Joana el día 30 de mayo de 2006

Hola soy principiante en Oracle y necesito ayuda con la creación de procedimientos:
Considere la tabla de CIUDADES con la siguiente descripci6n:
Name Null? Type
------------------------------- ----
CODIGO CIUDAD NOT NULL VARCHAR2(4)
NOMBRE CIUDAD NOT NULL VARCHAR2(45)
AREA- ESTADO- PROV VARCHAR2(6)
CODIGO PAIS NOTNULLVARCHAR2~)

1- Crea un procedimiento que haga lo siguiente en forma interactiva:
Inserte N cantidad de datos a la tabla.
Elimine N cantidad de datos de la Tabla.
Actualice N cantidad de datos de la tabla.
Imprimir las ciudades que empiecen con la letra A.
Control por medio de las excepciones si se viola algun tipo de constraint en
este caso imprima el código de error y su descripción.
Le agradeceria su ayuda, ya que existe poco codigo de oracel en la web al que puedo referenciar.

 
Re: Ayuda
Enviado por Jon el día 30 de mayo de 2006

Dedicate a fregar los platos, bonita

 

Re: Ayuda
Enviado por Rodolfo Reyes el día 31 de mayo de 2006

Creo que optando por buenas prácticas de programación no es correcto hacer un procedimiento o función que realiza muchas tareas. En tu caso, te aconsejaría que crearas 4 procedimientos, una para cada tarea (insertar, actualizar, eliminar, consultar).

Podrías hacer cuatro procedimientos por separado o también podrías crear un paquete el cual contenga todos los procedimientos y funciones necesarias para el mantenimiento de la tabla.

Un ejemplo de como hacer el procedimiento de insert:

create o replace procedure esquema.ciudades_insertar(I_codigo varchar, I_NOMBRE VARCHAR, I_AREA VARCHAR, I_PAIS VARCHAR) IS

begin
insert into ciudades(codigo,nombre,area,pais)
values(i_codigo,i_nombre,i_area,i_pais);

end;
/

El manejo de excepciones se hace por medio de:

Exception when EXPRESION then
aqui escribes que quieres hacer cuando se dispare esta execption

por ejemplo en el insert podrias poner:

--Esto captura cuando ya existe un registro
--con la llave primaria que estas tratando de insertar
exception when dup_val_on_index
RAISE_APPLICATION_ERROR (num=> -20107,
msg=> 'Llave primaria duplicada' );


Pero mi consejo es que dejes que Oracle maneje este tipo de exceptiones y que el te devuelva sus propios codigos de error.

 
Re: Re: Ayuda
Enviado por Alex el día 31 de mayo de 2006

Rodolfo, creo que te confundes y confundes gravemente a Joana.
¿ Como vas a hacer un procedimiento por cada operación sobre una tabla ?
Imaginate un aplicativo pequeño, de 100 tablas por ejemplo. Según tú ¿ tienes que hacer 300 procedimientos para el mantenimiento de las tablas ?.
¿ Y cuantos mas para la lógica de negocio ?
Eso es infumable, Tio.

Para tomar un primer contacto con la programacion estructurada está bien, pasar parametros, retornar valores, etc etc., pero solo eso, un primer contacto nada mas

 
Re: Re: Re: Ayuda
Enviado por edy el día 1 de junio de 2006

Ajajajaja ese rodolfo si que es un ,ostro, este man esta mas loco que mandado a hacer como carajo va a decirle a la otra que haga un procedimiento por cada operacion sobre una tabla. Este tio para mi que se fumo tremenda lupa.

 




Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network