Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/04/2005, 15:58
Avatar de kikolice
kikolice
 
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 2 meses
Puntos: 7
un ejemplo del primer sitio que me regreso google en la busqueda "sintaxis procedimientos oracle"
sintaxis procedure=
CREATE [OR REPLACE] PROCEDURE name [(param [IN|OUT|IN OUT|] datatype) . . .]
[IS|AS] pl/sql_subprogram

ejemplo=
CREATE PROCEDURE credit (acc_no IN NUMBER, amount IN NUMBER)
AS BEGIN
UPDATE accounts
SET balance = balance + amount
WHERE account_id = acc_no;
END;

sintaxis function=
CREATE [OR REPLACE] FUNCTION name [(param [IN] datatype) . . .]
RETURN datatype
[IS|AS] pl/sql_subprogram

ejemplo=
CREATE FUNCTION get_bal (acc_no IN NUMBER)
RETURN NUMBER
IS
acc_bal NUMBER(11,2); /* declaración de una variable */
BEGIN
SELECT balance
INTO acc_bal /* asignación */
FROM accounts
WHERE account_id = acc_no;
RETURN(acc_bal);
END

una vez realice una aplicacion siguiendo esa logica ( aunque con java ), las paginas html recolectaban los datos que despues al dar algun botonazo llamaban a un procedimiento oracle que los tomaba y el hacia los insert, delete o updates necesarios.

de los problemas con que me tope de entrada es la administracion de los procedures ( quedaron al final chorrocientos mil procedimientos ),
tambien el manejo de errores, cada procedimiento tenia un parametro "OUT" que era el mensaje de error pero el error que oracle genera para un usuario a la mayoria no le dice nada asi que tubimos que crear una conversion numero de error - mensaje usuario.
en dos modulos fue necesario que un procedimiento nos regresara determinado numero de registros al terminar de procesar la informacion, pero en esos tiempos no dimos en como hacerlo y terminamos usando una tabla temporal que llenaba el procedimiento y despues se generaba el select a esa tabla.

espero darte una idea de como, bye
__________________
Blogzote.com :-) Mi blog