From: | "Mario Soto Cordones" <msotocl(at)gmail(dot)com> |
---|---|
To: | "'Jose Vasquez'" <cibercol(at)gmail(dot)com> |
Cc: | 'José Fermín Francisco Ferreras' <josefermin54(at)hotmail(dot)com>, "'Lista PostgreSQL'" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: Problemas con secuencia |
Date: | 2009-06-21 17:42:24 |
Message-ID: | 000301c9f297$a6715b00$f3541100$@com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola José, lo que pasa es que si PostgreSQL por defecto no reconoce mayúsculas ni minúsculas, todo lo trata como minúsculas… yo lo que hice fue anteponer a los nombres de las tabla que creaba el nombre de la base de datos que se llama ePropiedades, para que PostgreSQL, reconozca la diferencia entre una mayúscula y minúscula se debe colocar “ePropiedaes”, entre comillas y de ahí comenzó todo el problemas.
Si yo coloco esta sentencia
CREATE SEQUENCE public.ePropiedades_propiedades_co_propiedad_seq INCREMENT 1 INVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1;,
sin Comillas dobles, PostgreSQL la tratará como minúsculas y nunca encontrará ePropiedades_propiedades_co_propiedad_seq ni mucho menos la sentencia
select nextval('public.ePropiedades_propiedades_co_propiedad_seq');
ese es el motivo de utilizar las comillas dobles
Mi configuración es Postgresql 8.3 bajo Linux Fedora Core 9
Gracias
atentamente,
Mario Soto Cordones
medio ambiente Porfavor antes de Imprimir éste correo, piense en los árboles de nuestro planeta.
De: Jose Vasquez [mailto:cibercol(at)gmail(dot)com]
Enviado el: domingo, 21 de junio de 2009 13:14
Para: Mario Soto Cordones
CC: José Fermín Francisco Ferreras; Lista PostgreSQL
Asunto: Re: [pgsql-es-ayuda] Problemas con secuencia
Fijate que si funciona lo que pasa es que tienes una tabla que en su nombre incluye unas comillas dobles. (repito que incluye las comillas como parte del nombre).
Usar comillas como parte de un nombre de una tabla es una excentricidad. Realmente no lo veo necesario.
Simplemente cada lenguaje o implementacion de un lenguaje tiene su sintaxis y pues es una condicion para usar dicho lenguaje. En este caso se esta hablando de la implementacion que postgresql hace del lenguaje SQL.
Haz la prueba como te lo envie y seguro que funciona, yo lo probe antes de enviarte la respuesta. Al menos hazle un control-c y un control-v a una consola de postgresql de las dos siguientes lineas:
CREATE SEQUENCE public.ePropiedades_propiedades_co_propiedad_seq INCREMENT 1 INVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1;
select nextval('public.ePropiedades_propiedades_co_propiedad_seq');
y me cuentas que pasa.
Jose VASQUEZ
2009/6/21 Mario Soto Cordones <msotocl(at)gmail(dot)com>
Hola.. también lo he probado así y no funciona, tengo claro la diferencia entre las comillas simples y dobles, por eso es que no entiendo porque no funciona
atentamente,
Mario Soto Cordones
medio ambiente Porfavor antes de Imprimir éste correo, piense en los árboles de nuestro planeta.
De: Jose Vasquez [mailto:cibercol(at)gmail(dot)com]
Enviado el: domingo, 21 de junio de 2009 10:33
Para: José Fermín Francisco Ferreras
CC: msotocl(at)gmail(dot)com; Lista PostgreSQL
Asunto: Re: [pgsql-es-ayuda] Problemas con secuencia
Hola Tocayo:
Es problema de sintaxis, en particular del uso de las comillas dobles y simples, esto es importante tenerlo en cuenta siempre.
Mas o menos seria como sigue:
CREATE SEQUENCE public.ePropiedades_propiedades_co_propiedad_seq INCREMENT 1 INVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1;
select nextval('public.ePropiedades_propiedades_co_propiedad_seq');
#Fijate en el uso de las comillas, cuando son dobles tienes que utilizarlas de manera especial, cuando son sencillas tambien, y depende también del contexto si estas en la consola o programando dentro de una funcion plpgsql.
José VASQUEZ
2009/6/21 José Fermín Francisco Ferreras <josefermin54(at)hotmail(dot)com>
ing. José Fermín Francisco Ferreras
San Francisco de Macorís, Rep. Dom.
_____
From: msotocl(at)gmail(dot)com
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: [pgsql-es-ayuda] Problemas con secuencia
Date: Sat, 20 Jun 2009 22:53:49 -0400
Hola lista, tengo la siguiente secuencia:
CREATE SEQUENCE "public"."ePropiedades_propiedades_co_propiedad_seq"
INCREMENT 1 MINVALUE 1
MAXVALUE 9223372036854775807 START 1
CACHE 1;
Cuando quiero obtener el nextval:
select nextval("ePropiedades_propiedades_co_propiedad_seq") as id
dice :
ERROR: column "ePropiedades_propiedades_co_propiedad_seq" does not exist
LINE 2: select nextval("ePropiedades_propiedades_co_propiedad_seq")
Pero si existe
Sin embargo si hago :
select last_value from "ePropiedades_propiedades_co_propiedad_seq" , entonces me arroja 1, que es lo correcto, pero necesito usar el nextval
Que será y qué puedo hacer????
Muchas Gracias
atentamente,
Mario Soto Cordones
----------->>>>>Mario, trata de hacerlo de esta manera:
select nextval('ePropiedades_propiedades_co_propiedad_seq') as id;
¡Error! Nombre de archivo no especificado. Porfavor antes de Imprimir éste correo, piense en los árboles de nuestro planeta.
__________ Information from ESET Smart Security, version of virus signature database 4174 (20090620) __________
The message was checked by ESET Smart Security.
_____
See <http://clk.atdmt.com/MRT/go/119463819/direct/01/> how Windows® connects the people, information, and fun that are part of your life
__________ Information from ESET Smart Security, version of virus signature database 4174 (20090620) __________
The message was checked by ESET Smart Security.
__________ Information from ESET Smart Security, version of virus signature database 4174 (20090620) __________
The message was checked by ESET Smart Security.
__________ Information from ESET Smart Security, version of virus signature database 4174 (20090620) __________
The message was checked by ESET Smart Security.
From | Date | Subject | |
---|---|---|---|
Next Message | José Fermín Francisco Ferreras | 2009-06-21 17:45:12 | RE: Problemas con secuencia |
Previous Message | Jose Vasquez | 2009-06-21 17:14:17 | Re: Problemas con secuencia |