Re: Ayuda para PL/pgsql

From: Cesar Erices <caerices(at)gmail(dot)com>
To: inf200476(at)ucf(dot)edu(dot)cu
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda para PL/pgsql
Date: 2009-03-05 12:07:34
Message-ID: 1cb5d9840903050407m4b60df01id6c2be8a15ed2b8d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

mira yo hice esta funcion

CREATE OR REPLACE FUNCTION cg_buscar_cargo(m_tipo integer, m_dato character
varying, m_codigo integer)
RETURNS SETOF cargo AS
$BODY$
DECLARE
fila cargo%rowtype;
sql character varying;
m character varying;
BEGIN
--1:BUSCAR TODOS LOS REGISTROS
IF m_tipo= 1 THEN
sql = 'SELECT * FROM cargo ORDER BY cg_cod';
END IF;
--2:BUSCAR REGISTROS DE ACUERDO AL NOMBRE O PARTE DE EL
IF m_tipo = 2 THEN
sql = 'SELECT * FROM cargo WHERE cg_nombre like ' ||
quote_literal($2) ;
END IF;
--3:BUSCAR REGISTROS DE ACUERDO AL CODIGO
IF m_tipo=3 THEN
sql = 'SELECT * FROM cargo WHERE cg_cod ='|| m_codigo;
END IF;

FOR fila IN EXECUTE sql
LOOP
RETURN NEXT fila;
END LOOP;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100
ROWS 1000;

espero que te sirva de ejemplo
--
Cesar Erices Vergara
Ingeniero en Gestión Informática
Analista de Sistema

Santiago - Chile

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emiliano Moscato 2009-03-05 12:29:41 Re: Usando GROUP BY
Previous Message Javier Chávez B. 2009-03-05 11:44:51 Re: MERGE (upsert) en postgres?