![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema al crear una llave primaria
Buenas noches, agradezco su colaboración para determinar que puedo estar haciendo mal o para saber si existe alguna restricción para crear llaves primarias con campos smallint.
Cree una base de datos con la siguiente estructura Código:
CREATE DATABASE 'localhost:C:\BDSIDUTEC\SIDUTEC3.fdb' USER 'SYSDBA' PASSWORD '**********' PAGE_SIZE 4096 DEFAULT CHARACTER SET ISO8859_1; /* Roles */ CREATE ROLE RDB$ADMIN; /* Domains */ CREATE DOMAIN CAD_CORTA AS CHAR(20); CREATE DOMAIN CAD_LARGAS AS VARCHAR(255); CREATE DOMAIN CAD_MEDIANA AS CHAR(40); CREATE DOMAIN CARACTER AS CHAR; CREATE DOMAIN ENT_CORTO AS SMALLINT [0:32767]; CREATE DOMAIN ENT_LARGO AS INTEGER; CREATE DOMAIN NUM_DOC AS BIGINT NOT NULL; /* Tables */ CREATE TABLE TIPOS_IDENTIFI ( COD_TIP_IDE ENT_CORTO NOT NULL, NOM_IDENTI CAD_MEDIANA NOT NULL ) ; COMMIT; /* Datos por tabla */ Código:
ALTER TABLE TIPOS_IDENTIFI ADD CONSTRAINT PK_COD_TIP_IDE PRIMARY KEY (COD_TIP_IDE); Código:
Engine Error (code = 335544351): unsuccessful metadata update. attempt to index array column in index PK_COD_TIP_IDE. SQL Error (code = -607): This operation is not defined for system tables. Código:
ALTER TABLE TIPOS_IDENTIFI ADD CONSTRAINT PK_COD_TIP_IDE PRIMARY KEY (NOM_IDENTI); Mil gracias por la ayuda que me puedan brindar, estoy trabajando con Firebird 2.5.1., Firebird Maestro 14 y Windows 7 Profesional de 32 bits. |
#2
|
||||
|
||||
No sé si es algo nuevo, pero nunca había visto ese array:
CREATE DOMAIN ENT_CORTO AS SMALLINT [0:32767]; Lo normal: CREATE DOMAIN ENT_CORTO AS SMALLINT;
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
1. Si quieres declarar un array en firebird (aunque no es usual, y hasta sus propios desarrolladores desaconsejan su uso) la cosa es: Tipo [tamaño] mientras que tu haces Tipo [0:tamaño]
2. Tener un array como clave primaria no es legal. 3. El error justamente te dice que no está permitido. 4. Lee la Release Notes y la documentación de Firebird. |
#4
|
||||
|
||||
Por lógica una clave primaria deber unica, y un arreglo rompe esa regla.
Enviado desde mi SM-G900H mediante Tapatalk
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#5
|
|||
|
|||
![]() Mil gracias por la colaboración, efectivamente el error fue mio, al crear el dominio le defini el arreglo y le puse los limites que aparecen en la definición.
Ya corregi borrando el dominio y volviendo a crearlo sin el arreglo y los limites ingresados. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Extrañisimo problema con Llave | juliobuitrago | Firebird e Interbase | 5 | 23-03-2011 10:23:58 |
buscando llave primaria | Willo | MySQL | 0 | 14-12-2007 17:16:19 |
Crear Llave Primaria | ebeltete | Firebird e Interbase | 2 | 07-12-2007 15:20:11 |
Llave primaria repetida | Coco_jac | Varios | 5 | 29-08-2007 23:48:12 |
crear una llave alfanumerica con un generador | reina | SQL | 3 | 17-08-2005 19:49:44 |
![]() |
|