From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Carlos Chávez Z(dot) <cchavez(at)oxyman(dot)com(dot)pe> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: 3 consultas sobre Funciones |
Date: | 2007-05-09 16:58:35 |
Message-ID: | 20070509165835.GP4504@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
"Carlos Chávez Z." escribió:
> Hola a todos, para empezar debo aclarar que soy novato en Postgres por
> lo cual disculpen si pregunto cosas triviales pero la verdad le estoy
> dando vueltas al asunto y no le doy a la respuesta.
> INSERT INTO "RRHH"."TipoTrabajador" VALUES (codigo,descri);
> IF NOT FOUND THEN
> RAISE EXCEPTION 'no pasa nada...';
> RETURN FALSE;
> ELSE
> RETURN TRUE;
> END IF;
> 1. Hay alguna función que reemplace al isnull de sqlserver?
Deshazte de ese codigo, no lo necesitas. Mejor usa un campo SERIAL.
Este se incrementa automaticamente.
> 2. el manejo de la transacción está bien definida en mi función de
> postgres?
No realmente ... al hacer el RAISE EXCEPTION la funcion es abortada, por
lo que el RETURN FALSE nunca se ejecutara.
> 3. hay forma de evitar poner las comillas dobles en los nombres de las
> tablas, esquemas, etc. (en los ejemplos que he visto no las usan pero
> cuando edito mis funciones no me acepta si no es como comillas)
Las comillas son para evitar que las mayusculas en el identificador se
conviertan a minusculas. Podrias quitarlas, pero para eso tendrias que
asegurarte que las tablas y columnas tienen nombres solo con minusculas.
(Es buena idea de todas formas porque la tontera de las comillas te va a
molestar toda la vida).
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-05-09 16:59:24 | Re: Script Vacuum |
Previous Message | Antonio Galicia | 2007-05-09 16:55:57 | Re: 3 consultas sobre Funciones |