Club Delphi  
    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 11-10-2007
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Exclamation Cómo cambiar el tamaño de un campo tipo varchar

Hola,


Estoy tratando de cambiar el tamañao de un campo de 7 caracteres a 8 caracteres en FIREBIRD 2.0, cabe anotar que el campo es de tipo "varchar", no se encuentra relacionado con ninguna TABLA, VISTA o PROCEDIMIENTO, lo he realizado desde EMS y desde el IBExpert, el script que se muestra para realizar el cambio es el siguiente;

Código SQL [-]
ALTER TABLE PROTOCOLOS_CARACTERISTICAS
ALTER COLUMN PRO_CAR_CODIGO
TYPE VARCHAR(8);

Pero al ejecutarlo me muestra esto:


Código:
fmCompile.quCompile:
This operation is not defined for system tables.unsuccessful metadata update.
MODIFY RDB$RELATION_FIELDS failed.
action cancelled by trigger (1) to preserve data integrity.
Cannot update index segment used by an Integrity Constraint.
Agradezco, si alguien conoce la manera o el porque se muestra este mensaje.
Responder Con Cita
  #2  
Antiguo 11-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Atención: Lo siguiente solo es un trozo de codigo que nunca he probado, solo es una suposición de lo que haria FireBird internamente a la hora de modificar la estructura, hazlo en una base de datos de prueba para ver como te va y nos cuentas .

Haz la siguiente consulta:

Código SQL [-]
select RDB$Field_source from rdb$relation_fields where rdb$field_name='NombreDelCampoEnCuestion' and 
RDB$relation_name='NombreDeLaTablaDondeEstaElCampoEnCuestion'

Eso te debe devolver un valor parecido al siguiente:

RDB$2519

Una vez tengas ese valor haces:

Código SQL [-]
update rdb$fields set rdb$field_length='TamanoNuevo' where 
rdb$field_name='ElValorQueTeDevolvioAnterior(En nuestro caso RDB$2519)'

Espero que esta suposición funcione correctamente y no vaya a dañar nada en tu base de datos .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 12-10-2007 a las 14:55:52. Razón: Agregar el valor de tamano nuevo
Responder Con Cita
  #3  
Antiguo 12-10-2007
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
De antemano te agradezco Jhonny, lo que hice fue borrar todas la relaciones que involucraban a mi tabla, luego quite la llave primaria sobre el campo que desea cambiar el tamaño lo edite aumente los caracteres y listo..... pero antes de esto utilice lo que me aconsejaste y me seguia mostrando el mismo error.... igual muchas gracias
Responder Con Cita
  #4  
Antiguo 12-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Ahhh, entonces la cuestión era de llaves foraneas... es que como habias dicho que esa tabla no tenia relación con ninguna otra, pues por eso busque otra medida , de todas formas que bueno que hayas solucionado el problema .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
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
¿Cómo averiguar el tamaño de un tipo de dato? taote SQL 11 16-05-2007 20:45:51
En postgres: Cómo elimino de un campo varchar los saltos de línea PabloTech PostgreSQL 1 24-02-2007 03:36:16
Cambiar Tipo de Campo Paradox keys Conexión con bases de datos 5 28-01-2007 18:29:28
cambiar el TIPO de dato de un CAMPO de una tabla Jose Mari SQL 2 01-04-2005 17:18:16
Como convertir un campo VARCHAR a uno BLOB, si se puede? judoboy Firebird e Interbase 10 31-07-2003 17:28:45


La franja horaria es GMT +2. Ahora son las 10:56:12.


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