Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/05/2009, 08:24
Avatar de Beuses
Beuses
 
Fecha de Ingreso: marzo-2009
Ubicación: Maracaibo
Mensajes: 132
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Funcion que ingresa, consulta y vuelve a ingresar

ok, es este:

Código PHP:
CREATE OR REPLACE FUNCTION "schema_buque"."fn_insertar_buque" (p_nombreusuario varcharp_matricula varcharp_nombre varcharp_bandera varcharp_actividad integerp_arqueo realp_capacidad integerp_total realp_eslora realp_manga realp_puntal realp_idmuelle integerp_idsuministro integerp_indicador varcharp_fecharenave textp_lugar varcharRETURNS varchar AS
$body$
/*
eschema: schema_buque
nombre: fn_insertar_buque():varchar
autor: Jennifer Beuses
fecha: 26/05/2009
organismo: Ministerio del Poder Popular para la Energía y Petróleo - MENPET
función: inserta buques
*/
BEGIN
IF (EXISTS (SELECT 1 FROM tbl_buque where num_matricula p_matricula)) THEN
    
RETURN 'Ya existe un buque con esa matricula';
ELSE
    
BEGIN
    INSERT INTO tbl_buque
(id_muelle,id_actividad,id_suministro,nombreusuario,num_matricula,nombre,bandera,capacidad_almacenamiento,eslora,manga,puntal,unidadarqueobruto,totalhp,indicador_suministro)
    
VALUES (p_idmuelle,p_actividad,p_idsuministro,p_nombreusuario,upper(p_matricula),p_nombre,p_bandera,p_capacidad,p_eslora,p_manga,p_puntal,p_arqueo,p_total,p_indicador);
    
SELECT id FROM tbl_buque WHERE num_matricula=p_matricula
     INSERT INTO tbl_renave
(id_buque,fecha,lugar)VALUES(id,to_date(p_fecharenave ,'DD/MM/YYYY'),p_lugar);
    
    
EXCEPTION
    WHEN OTHERS THEN
            
RETURN 'Ha ocurrido un error al ejecutar la instrucción';
    
END;
    RETURN 
'OK';
END IF;
END;  
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER