Удалите CHARACTER SET UNICODE_FSS из столбца в базе данных Firebird - PullRequest
3 голосов
/ 06 марта 2012

У меня есть база данных Firebird с несколькими таблицами в ней. Есть несколько столбцов, которые были добавлены при создании базы данных как

alter table Machines add MachineVersion varchar(100) CHARACTER SET UNICODE_FSS

Я хочу изменить эти столбцы, чтобы удалить CHARACTER SET UNICODE_FSS, поэтому я выполнил команду

alter table Machines alter column MachineVersion type VARCHAR(100)

Тем не менее, когда я открываю базу данных в SQL Manager, набор символов для этих столбцов остается UNICODE_FSS.

Есть ли другой синтаксис для второй команды для удаления CHARACTER SET UNICODE_FSS?

Ответы [ 2 ]

2 голосов
/ 06 марта 2012
alter table Machines alter column MachineVersion type VARCHAR(100)

Этот запрос не изменит набор символов.

Если вы хотите удалить набор символов, вы должны изменить домен следующим образом:

update RDB$FIELDS set
RDB$CHARACTER_SET_ID = NULL
where RDB$FIELD_NAME = 'RDB$141'

Вместо RDB $ 141 используйте столбец domain

1 голос
/ 06 марта 2012

Можно добавить новый столбец, скопировать данные из старого столбца в новый, а затем удалить старый столбец?

...