FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda - Campo AUTO - Base de Datos
Hola, tengo el siguiente inconveniente:
En una base de datos tengo una tabla (HOJADERUTAS) con los siguientes campos: (Key)NUMHOJADERUTA / AUTO IDCADETE / SMALLINT FECHORAPARTIDA / TIMESTAMP FECHORALLEGADA / TIMESTAMP El campo (NUMHOJADERUTA) está generado por un generador (GEN_HOJADERUTA) con un objeto trigger (CREATE_HOJADERUTA) con la siguientes característica: Tipo BEFORE INSERT... As Begin NEW.NUMHOJADERUTA = GEN_ID (GEN_HOJADERUTA, 1); end Concretamente el inconveniente es que venía funcionando bien (el número de hoja de ruta actual es el 32767), pero ahora cuando se genera una hoja de ruta nueva me está arrojando el siguiente error: 32769 n´est pas une valeur correcte pour le champ 'NUMHOJADERUTA' les valueurs doivent etre comprises entre 32768 et 32767 La cosa que no puedo generar más hojas de rutas y la situación en la empresa es un caos y me están por colgar!!! |
#2
|
||||
|
||||
Create una tabla nueva, con el campo como BigInt traspásele todos los datos de la antiguga, elimina la antigua, renombra la nueva al nombre de la antigua y creo que tendrás resuelto el problema.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
Cita:
Está claro que el campo clave NUMHOJADERUTA es un smallint, debes cambiarlo como te ha informado marcoszorrilla, por un tipo de campo mayor. El smallint sólo llega hasta 32767 |
#4
|
|||
|
|||
Muchas gracias por tus comentarios.
No estoy muy ducho en el tema, por eso consulto. En caso de proceder como indicás, al colocar al campo como BigInt la generación del número de NUMHOJADERUTA (que hoy se genera en forma automática a través del GEN_HUJADERUTA) se verá afectado? |
#5
|
||||
|
||||
Como el nombre del campo es el mismo no tendrías que realizar ningún cambio.
Puedes desde ISQL comprobar el estado del generador, es decir en que número se encuentra en estos momentos.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#6
|
|||
|
|||
Marcos muchas gracias por tus indicaciones.
Ahora te consulto lo siguiente, pude crear la tabla nueva, pasarle todos los datos, lo que no puedo es renombrar las tablas. Cómo debo proceder? Nuevamente gracias. Saludos. |
#7
|
||||
|
||||
Amigo, eso ya se te ha contestado más arriba:
Cita:
|
#8
|
|||
|
|||
Muchas gracias por contestarme Casimiro.
Tengo claro lo que anteriormente me aconsejaron, lo que estoy consultando ahora es: -Cómo procedo para renombrar la tabla? Ya que es lo único que hasta ahora no logré hacer. Nuevamente gracias. |
#9
|
||||
|
||||
Me parece que solo es necesario cambiar el tipo de campo desde SmallInt a Integer o BigInt. Creo que no tendrás que utilizar una tabla intermedia, pues estarías cambiando el tipo de datos entre similares. SmallInt => Integer.
Por otro lado, tengo la impresión que utilizar BigInt sería demasiado. Esto lo digo porque creo que el valor de los generadores solamente soportan valores entre el rango de Integer, no más. Si estoy equivocado, entonces procede a utilizar BigInt si haces inserciones masivas en la susodicha tabla. Saludos, Chris. |
#10
|
||||
|
||||
No recuerdo exactamente, echa un vistazo a ver si lo encuentras.
Aunque puedes pasar los datos a una nueva con el nombre ya correcto. Algo así como:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Insertar Datos a un campo de la base de datos desde un DBEdit | saltamirano | Varios | 11 | 12-12-2007 17:29:35 |
Problema con Campo con nombre AUTO | elmarkivo | SQL | 7 | 03-12-2007 21:26:28 |
Campo DOUBLE en una base de datos | verodelphi | Conexión con bases de datos | 1 | 12-09-2007 15:57:35 |
Auto completar un campo lookUp... | Perio | Varios | 4 | 13-07-2005 14:56:40 |
reiniciar campo auto incremento | LOBO VELEZ | Tablas planas | 7 | 16-01-2005 19:54:51 |
|