Re: Error de Funciones en Postgresql 8

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: gabriela lópez <gabydhi(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Error de Funciones en Postgresql 8
Date: 2005-08-17 02:25:00
Message-ID: 20050817022500.GC18026@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Tue, Aug 16, 2005 at 11:00:09PM +0000, gabriela lópez wrote:

> CREATE FUNCTION sp_nuevoinicio(_login varchar,_pass varchar) RETURNS void
> AS $$
> BEGIN
> CREATE USER _login PASSWORD _pass
> VALID UNTIL 'infinity';
> RETURN;
> END;
> $$ LANGUAGE plpgsql;

Hola, creo que no puedes hacerlo de esa manera; tienes que hacer algo
como

AS $$
DECLARE
query TEXT;
BEGIN;
query := 'create user ' || _login || ' PASSWORD ' || _pass;
EXECUTE query;
END
$$

> Se ha generado la siguiente Excepción : java.sql.SQLException: ERROR:
> syntax error at or near "$1"
> Pero en esta funcion no tengo ningun $1 !!!!

El tema del $1 es porque no se reporta el nombre del parametro a la
funcion, se usa su numero -- el $1 corresponde a _login.

--
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
"Use it up, wear it out, make it do, or do without"

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Marcos Matamala 2005-08-17 03:03:21 Re: AYUDA POSTGRESQL
Previous Message Alvaro Herrera 2005-08-17 02:20:54 Re: Traducción de manuales.