Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

[SOLUCIONADO] Problemas para crear Tabla con Secuencia

Estas en el tema de Problemas para crear Tabla con Secuencia en el foro de PostgreSQL en Foros del Web. Buenos dias amigos, estoy desarrollando una Base de datos, donde quiero agrupar (clasificar) la data por años utilizando los esquemas. Para empezar cree el esquema ...
  #1 (permalink)  
Antiguo 25/11/2016, 09:46
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Pregunta Problemas para crear Tabla con Secuencia

Buenos dias amigos, estoy desarrollando una Base de datos, donde quiero agrupar (clasificar) la data por años utilizando los esquemas.

Para empezar cree el esquema "datos_2016", luego cree una secuencia llamada "seq_datos", cuando pretendo crear la tabla "datos" y asignar al campo cdata la sequencia me dice que no puedo porque la relación "seq_data" no existe.

Lo que me parece mas "problematico" es que cuando creo el esquema "public" y creo la secuencia allí, si me deja crear la tabla con el campo.

Lo que aparentemente significa que las secuencias tienen que estar en el esquema "public" cosa que no me conviene por la forma en la que quiero trabajar la data.

Entonces estoy cometiendo un error o es algo que viene por defecto así?

Estoy usando PgAdmin III Version 1.22.1, los codigos de la secuencia y la tabla:

Código SQL:
Ver original
  1. CREATE SEQUENCE datos_2016.seq_data
  2.   INCREMENT 1
  3.   MINVALUE 1
  4.   MAXVALUE 9223372036854775807
  5.   START 1
  6.   CACHE 1;
  7. ALTER TABLE datos_2016.seq_data
  8.   OWNER TO postgres;
  9. GRANT ALL ON SEQUENCE datos_2016.seq_data TO public;
  10. GRANT ALL ON SEQUENCE datos_2016.seq_data TO postgres;
Código SQL:
Ver original
  1. CREATE TABLE datos_2016.DATA
  2. (
  3.    cdata INTEGER NOT NULL DEFAULT NEXTVAL('seq_data'),
  4.    CONSTRAINT fk_cdata PRIMARY KEY (cdata) USING INDEX TABLESPACE sistema_index
  5. )
  6. WITH (
  7.   OIDS = FALSE
  8. )
  9.  
  10. TABLESPACE sistema_data;

Alguien puede ayudarme?
  #2 (permalink)  
Antiguo 25/11/2016, 13:26
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 3 meses
Puntos: 19
Respuesta: Problemas para crear Tabla con Secuencia

Problema solucionado, cuando ejectute la orden nextval, incluí el esquema:
Código SQL:
Ver original
  1. CREATE TABLE datos_2016.DATA
  2. (
  3.    cdata INTEGER NOT NULL DEFAULT NEXTVAL('datos_2016.seq_data'),
  4.    CONSTRAINT fk_cdata PRIMARY KEY (cdata) USING INDEX TABLESPACE sistema_index
  5. )
  6. WITH (
  7.   OIDS = FALSE
  8. )
  9.  
  10. TABLESPACE sistema_data;
Y dicho codigo funcionó.
Asumí que no debía de especificar el esquema, puesto que no tengo otro creado (borre el public), pero ya veo que debo de especificarlo.

Etiquetas: año, postgre, secuencia, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:35.