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.