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

Hola, quiero hacer una funcion en Postgres que ingrese datos en una tabla buque,

luego que consulte el id del buque segun la matricula que acaba de ingresar, para

que por ultimo ingrese ese id del buque en otra tabla llamada renave.

Habia hecho este codigo:

Código PHP:
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
Pero me salia este error:

Código PHP:
ERROR:  SELECT query has no destination for result data
HINT
:  If you want to discard the results, use PERFORM instead.
CONTEXT:  PL/pgSQL function "fn_insertar_buque" line 17 at SQL statement 

No se mucho de esto asi que quisiera ayuda. Se que estoy haciendo algo mal

pero no se que... :neurotico

Gracias de antemano.