Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola pmtzg.

Cita:
CREATE UNIQUE INDEX FACF04 ON FACT04 (TIP_DOC, FECHA_DOC, CVE_DOC);
CREATE UNIQUE INDEX FACT04 ON FACT04 (TIP_DOC, CVE_DOC);
CREATE UNIQUE INDEX FCLI04 ON FACT04 (CVE_CLPV, TIP_DOC, CVE_DOC);
Ha... ahora sí.

El problema no te lo dá el índice primario sino los que has declarado como UNIQUE y al estar así declarados, no pueden existir dos valores iguales en dichos campos.

Tendrías que revisar los valores duplicados o quitar esa declaración para realizar la copia.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #2  
Antiguo 18-08-2011
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 19
pmtzg Va por buen camino
asi es mi estmado ecfisa
pero una pregunta mas aprovecando tu bondad

fijate que estas tablas de paradox ya estan definidas, yo trabajo con ellas con una copia

cuando las creo las creo la tabla e index asi :

Código Delphi [-]
IBTable1.FieldDefs.Assign(table1px.FieldDefs);
IBTable1.IndexDefs.Assign(table1px.IndexDefs);
IBTable1.CreateTable;

tomo la estructura de la tabla de paradox y creo mi tabla en firebird
si al crear mi tabla omito esto:

Código Delphi [-]
IBTable1.IndexDefs.Assign(table1px.IndexDefs);

no creo los index en donde se declara el UNIQUE

si despues de crear mi tabla como te mostre y edito para la creación de los
index con que me recomiendas tu crearlos

lo intente con IBscripts, pero me marca error
gracias
Responder Con Cita
  #3  
Antiguo 18-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola pmtzg.

En Firebird, para agregar una Key UNIQUE:
Código SQL [-]
ALTER TABLE TUTABLA ADD CONSTRAINT PK_TUTABLA_UNIQUE1 UNIQUE(TU_CAMPO)

Para quitarla:
Código SQL [-]
ALTER TABLE TUTABLA DROP CONSTRAINT PK_TUTABLA_UNIQUE1

Pero si las key UNIQUE tienen que quedar y tenés repetición de valores en los campos, no te va a permitir hacerlo. Si es 'unico' no puede haber duplicidad.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-08-2011 a las 19:07:04.
Responder Con Cita
  #4  
Antiguo 18-08-2011
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 19
pmtzg Va por buen camino
fijate que usare IBSQL1 para craEAR MI INDEX

lo meto a un ciclo

creo la primera tabla ... ok
creo su index IBSQL! ... ok

Código Delphi [-]
IBSQL1.sql.text :='create index CCLIEDX2 on clie04 (cclie); ';

elijo otra tabla

creare la tabla2 pero al momento de decirle

Código Delphi [-]
IBtable1.createtable ;

me lanza el error haciendo referencia de anterior index que cree, ejemplo

Código Delphi [-]
unsuccessful metadata update unknown columns in index  CCLIEDX2

pero antes ya habia declarado este parrafo:

Código Delphi [-]
IBSQL1.sql.text :=' '+
'CREATE  INDEX FACF04 ON FACT04 (TIP_DOC, FECHA_DOC, CVE_DOC); '+
' CREATE  INDEX FACT04 ON FACT04 (TIP_DOC, CVE_DOC);  '+  
' CREATE  INDEX FCLI04 ON FACT04 (CVE_CLPV, TIP_DOC, CVE_DOC); ';


que hice mal , si la primera tabla se creo y su index muy bien hasta vacie los datos de paradox a firebird

tendria que decirle algo mas a mi codigo para que no me pase esto ???
Responder Con Cita
  #5  
Antiguo 18-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Realmente no te estoy comprendiendo, no entiendo como estas creando tus tablas.

Si previamente habías echo algo así:
Código Delphi [-]
 with IBSQL1.SQL do
  begin
    Add('CREATE TABLE FACT04 (');
    Add('NUM_REG     INTEGER NOT NULL,');
    Add('TIP_REG     VARCHAR(1),');
    Add('TIP_DOC     VARCHAR(1),');
    ...
    Add('CVE_DOC     VARCHAR(7));');
  end;
  IBSQL1.ExecQuery;

Para que luego haces:
Código Delphi [-]
  IBTable1.CreateTable;
si la tabla ya ha sido creada.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-08-2011 a las 19:56:39.
Responder Con Cita
  #6  
Antiguo 18-08-2011
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 19
pmtzg Va por buen camino
abro tabla Paradox y base de datos Firebird

Código Delphi [-]
IBTable1.FieldDefs.Assign(table1px.FieldDefs);
// IBTable1.IndexDefs.Assign(table1px.IndexDefs);  // omiti esto para arreglar lo de los index 
IBTable1.CreateTable;

de este modo creo para evitar la captura de los campos
pero me he atorado a la hora de crear los index ya modificados
eso es lo q me pasa

Última edición por pmtzg fecha: 18-08-2011 a las 19:58:49.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Union de Tablas MaMu SQL 4 22-08-2008 23:14:47
Union de 3 tablas en una Base de Datos Access jon_g461 Conexión con bases de datos 3 08-04-2008 20:30:31
ayuda con union de tablas en php?? foetus PHP 2 17-12-2007 14:50:02
La Unión Europea puso en marcha un plan para grabar todas las comunicaciones ptt Noticias 3 24-11-2005 22:31:51
sería mucho pedir??? (union de tablas) ELINK Firebird e Interbase 5 05-05-2005 01:37:55


La franja horaria es GMT +2. Ahora son las 21:09:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi