From: | Jaime Casanova <systemguards(at)yahoo(dot)com> |
---|---|
To: | "MozStyle (at) gmx" <mozstyle2002(at)gmx(dot)net>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: INSERT MULTIPLE CON TRANSACCIONES... |
Date: | 2004-11-08 18:26:20 |
Message-ID: | 20041108182620.89199.qmail@web50005.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
--- "MozStyle @ gmx" <mozstyle2002(at)gmx(dot)net> escribió:
> Hola a todos.
>
> Tengo una función en la cual realizo un INSERT
> digamos a una tabla de nombre
> TIPOS con un campos Codigo y una descripción (para
> hacerla corta) la cosa es
> que necesito declarar variables en la función que
> sean del mismo tipo que
> los campos de la tabla "TIPOS".
>
> He visto por ahi que se puede utilizar el %ROWTYPE,
> la pregunta es; ¿cómo le
> digo a PL/pgSQL que el %rowtype debe tomarlo del
> campo Codigo de mi tabla
> TIPOS?
>
> Gracias.
>
A ver %ROWTYPE crea un record identico a la estructura
de tu tabla, si quieres solo de un campo debes usar
%TYPE.
Te muestro un ejemplo de la utilizacion de ambos para
que veas la diferencia:
CREATE TABLE tuTabla (
codigo int4 not null primary key,
nombre text not null
);
CREATE OR REPLACE FUNCTION tuFuncion() RETURNS VOID
AS'
declare
rs tuTabla%ROWTYPE; -- record
campo1 tuTabla.codigo%TYPE -- campo int4
....
begin
-- rs es un record creado con la misma estructura de
-- la tabla tuTabla.
rs.codigo := 5;
rs.nombre := 'alguna cadena';
-- campo1 es campo que tiene el mismo tipo de dato
-- que el campo codigo de tuTabla.
campo1 := 4;
return;
end; '
language 'plpgsql';
Para mayor informacion sobre declaracion de variables
en plpgsql dirigete a:
http://www.postgresql.org/docs/7.4/static/plpgsql-declarations.html
Atentamente,
Jaime Casanova
_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com
From | Date | Subject | |
---|---|---|---|
Next Message | MozStyle @ gmx | 2004-11-08 19:05:25 | Re: INSERT MULTIPLE CON TRANSACCIONES... |
Previous Message | MozStyle @ gmx | 2004-11-08 17:59:08 | Re: INSERT MULTIPLE CON TRANSACCIONES... |