Re: 3 consultas sobre Funciones

From: "Antonio Galicia" <antonio(dot)galicia(at)gmail(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:55:57
Message-ID: 3d2c06b30705090955h6f605b81u45a8dac31eb0cad5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 5/9/07, "Carlos Chávez Z." <cchavez(at)oxyman(dot)com(dot)pe> wrote:

> CREATE OR REPLACE FUNCTION "RRHH"."fncGrabaTipoTrab" (varchar) RETURNS
> boolean AS
> $body$
> DECLARE
> descri ALIAS FOR $1;
> codigo "RRHH"."TipoTrabajador"."ttrCodigo"%TYPE;
> BEGIN

> SELECT INTO codigo MAX("ttrCodigo") FROM "RRHH"."TipoTrabajador";
> IF codigo IS NOT NULL THEN
> codigo := codigo + 1;
> ELSE
> codigo := 1;
> END IF;

SELECT INTO codigo COALESCE(MAX("ttrCodigo"),0)+1 FROM "RRHH"."TipoTrabajador";

el "COALESCE(MAX("ttrCodigo"),0)+1" también lo puedes usar en MSSQL.

> 1. Hay alguna función que reemplace al isnull de sqlserver?

Aí'ta arribita.

> 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)

Eso es porque cuando creaste la base "forzaste" el nombre de los
campos a mayúsculas cuando lo "normal" es usar minúsculas (y de hecho
cuando no se obliga así lo guarda internamente) por lo que ahora toda
referencia a las mismas debe hacerse de esa forma que se declaró
originalmente. No es lo mismo:

CREATE TABLE Foo (Bar int);
CREATE TABLE "Foo" ("Bar" int);

insert into foo (bar) values (1);
insert into "foo" ("bar") values (1);
insert into "Foo" ("bar") values (1);
insert into "foo" ("Bar") values (1);
insert into "Foo" ("Bar") values (1);
insert into Foo (Bar) values (1);

Esto funciona con una de las tablas pero no con la otra... o con ninguna :(

--
Saludos,
Toño
----
http://agc.com.mx/antoniogc/blog

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-05-09 16:58:35 Re: 3 consultas sobre Funciones
Previous Message Alvaro Herrera 2007-05-09 16:55:43 Re: 3 consultas sobre Funciones