From: | Jaime Casanova <systemguards(at)yahoo(dot)com> |
---|---|
To: | Leonardo Boet Sánchez <boet(at)gtm(dot)tel(dot)etecsa(dot)cu>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Funciones con Pl/pgsql |
Date: | 2004-12-16 05:38:17 |
Message-ID: | 20041216053817.51577.qmail@web50002.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
--- Leonardo Boet Sánchez <boet(at)gtm(dot)tel(dot)etecsa(dot)cu>
escribió:
> Estoy trabajando con el pgadmin3 y entre los tipos
> que puede devolver una función es el void, ¿esto
> puede ser así?, aquí les mando el código:
>
> CREATE OR REPLACE FUNCTION test("varchar")
> RETURNS void AS
> 'insert into pais(pais) values($1)'
> LANGUAGE 'plpgsql' VOLATILE;
> ALTER FUNCTION test("varchar") OWNER TO postgres;
>
> ¿¿Es esto correcto??, miren el error que devuelve
> esto: ERROR: 42804: function "test" in FROM has
> unsupported return type
>
Parece que hay una confusion aqui, que la han repetido
varias personas.
Aclaremos:
En postgres existe un lenguaje sql con el que pueden
crear funciones para
ejecutar sentencias sql solamente, he aqui un ejemplo.
CREATE OR REPLACE FUNCTION test_sql(int2, char(2),
varchar) RETURNS void AS '
insert into seg_m_estado values ($1, $2, $3); '
LANGUAGE 'sql';
Existe ademas otro lenguaje llamado plgsql con el que
se pueden ejecutar
sentencias sql, pero tambien se pueden definir
variables, ejecutar lazos
(loops) y otras cosas.
CREATE OR REPLACE FUNCTION test_pgsql(int2, char(2),
varchar) RETURNS void AS '
declare
entidad alias for $1; -- esto solo lo hago para darte
una idea de
codigo char(2); -- lo que se puede hacer
begin
codigo := $2;
insert into seg_m_estado values (entidad, codigo,
$3);
return;
end;'
LANGUAGE 'plpgsql';
Tu funcion la estas creando como una funcion 'sql'
pero le estas diciendo
que usa language 'plpgsql'
Atentamente,
Jaime Casanova
PD: Hay mas lenguajes que funcionan en postgres pero
la confusion es solo entre estos dos.
_________________________________________________________
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 | Jaime Casanova | 2004-12-16 07:42:20 | Acentos en postgres |
Previous Message | Leonardo Boet Sánchez | 2004-12-15 22:51:08 | Funciones con Pl/pgsql |