PDA

Ver la Versión Completa : Cambiar el SubTipo de un campo Blob


jhonny
21-11-2007, 19:36:26
Este truco nacio del siguiente hilo http://www.clubdelphi.com/foros/showthread.php?p=247518#post247518 :).

Trate de hacer algo asi para cambiar el Subtipo de un Blob en FireBird...


alter table nombre_tabla alter column nombre_campo type blob sub_type 1


Pero me mostro el siguiente error:

This operation is not defined for system tables.
unsuccessful metadata update.
Cannot change datatype for column nombre_campo. Changing datatype is not supported for BLOB or ARRAY columns.


Asi que tratando de varias formas me encontre con la siguiente:


update RDB$FIELDS set RDB$FIELD_SUB_TYPE = :suptipo
where RDB$FIELD_NAME = (select RDB$FIELD_SOURCE from RDB$RELATION_FIELDS
where RDB$FIELD_NAME=UPPER('Nombre_del_campo') and
RDB$RELATION_NAME=UPPER('Nombre_de_la_tabla'))


Los codigos de los subtipos son numericos y son los siguientes:


0-> BINARY
1-> TEXT
2-> BLR
3-> ACL
4-> RANGES
5-> SUMMARY
6-> FORMAT
7-> TRANSACTION_DESCRIPTION
8-> EXTERNAL_FILE_DESCRIPTION
9-> DEBUG_INFORMATION


Espero que te sirva de algo, amigo lector :).