Lists: | pgsql-es-ayuda |
---|
From: | Eric Aponte <eaponte(at)usb(dot)ve> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Postgre |
Date: | 2004-07-09 14:19:58 |
Message-ID: | 40EEA98E.40303@usb.ve |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Hola, buenos días, tengo un problemita con Postgre, primero, solamente
veo el lenguaje sql, c e internal, estoy trabajando con lenguaje sql,
estoy creando unas funciones donde necesito verificar algo con el
condicional IF y de verdad que no se como hacerlo, he logrado trabajar
con insert into, update, select, pero al tratar de utilizar el
condicional me da el siguiente error, les envio el codigo de la funcion
Error de SQL:
ERROR: parser: parse error at or near "IF" at character 49
En la declaración:
CREATE OR REPLACE FUNCTION "insertar_log" (integer, character varying,
character varying, character varying, character varying) RETURNS
character varying AS '
select $1 = max(cod_log) as maximo from logs;
IF $1 = 0 THEN
BEGIN
END;
END IF;
INSERT INTO LOGS (COD_LOG,LOGIN_LOG, FECHA_LOG, HORA_LOG, OBVS_LOG)
VALUES ($1, $2, $3, $4, $5);
select login_log from logs where cod_log = $1;
' LANGUAGE "sql"
gracias de antemano a quien o quienes me puedan ayudar
saludos de venezuela
From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Eric Aponte <eaponte(at)usb(dot)ve> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Postgre |
Date: | 2004-07-09 15:43:29 |
Message-ID: | 20040709154329.GB24668@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
On Fri, Jul 09, 2004 at 10:19:58AM -0400, Eric Aponte wrote:
Hola,
> Hola, buenos días, tengo un problemita con Postgre,
El nombre es PostgreSQL, abreviado es Postgres. A veces se escribe como
pg, otras veces pgsql, pero jamas "Postgre".
> primero, solamente veo el lenguaje sql, c e internal,
Para instalar un nuevo mensaje en una base de datos, usa createlang,
por ejemplo
createlang plpgsql <base-de-datos>
> estoy trabajando con lenguaje sql, estoy creando unas funciones donde
> necesito verificar algo con el condicional IF y de verdad que no se
> como hacerlo,
En SQL no existe IF. Prueba usando el lenguaje PL/pgSQL, te puede
servir para lo que quieres hacer. En particular, puedes usar IF.
Suerte,
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La Primavera ha venido. Nadie sabe como ha sido" (A. Machado)
From: | "Mario Soto" <mario_soto(at)venezolanadeavaluos(dot)com> |
---|---|
To: | <eaponte(at)usb(dot)ve> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Postgre |
Date: | 2004-07-09 16:27:08 |
Message-ID: | 38299.200.35.66.77.1089390428.squirrel@mail.venezolanadeavaluos.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-es-ayuda |
Ve el siguiente link, ´se explica como crear un lenguaje:
http://es.tldp.org/Postgresql-es/web/navegable/programmer/xplang.html#XPLANG
--
Ing. Mario Soto Cordones
Venezolana de Avaluos
>
> Hola, buenos días, tengo un problemita con Postgre, primero, solamente
> veo el lenguaje sql, c e internal, estoy trabajando con lenguaje sql,
> estoy creando unas funciones donde necesito verificar algo con el
> condicional IF y de verdad que no se como hacerlo, he logrado trabajar
> con insert into, update, select, pero al tratar de utilizar el
> condicional me da el siguiente error, les envio el codigo de la funcion
>
> Error de SQL:
> ERROR: parser: parse error at or near "IF" at character 49
>
> En la declaración:
> CREATE OR REPLACE FUNCTION "insertar_log" (integer, character varying,
> character varying, character varying, character varying) RETURNS
> character varying AS '
> select $1 = max(cod_log) as maximo from logs;
> IF $1 = 0 THEN
> BEGIN
>
> END;
> END IF;
>
> INSERT INTO LOGS (COD_LOG,LOGIN_LOG, FECHA_LOG, HORA_LOG, OBVS_LOG)
> VALUES ($1, $2, $3, $4, $5);
> select login_log from logs where cod_log = $1;
>
> ' LANGUAGE "sql"
>
>
> gracias de antemano a quien o quienes me puedan ayudar
>
> saludos de venezuela