Страница 1 из 1

Вычисляемые поля

Добавлено: 02 мар 2009, 23:16
vetal71
Привет всем. Установлен сервер FB 2.1.1.
У меня такой вопрос, возможно ли изменить выражение вычисляемого поля без удаления этого поля из таблицы. Если да, то как это реализовать ?
Заранее спасибо

Re: Вычисляемые поля

Добавлено: 03 мар 2009, 14:37
Dimitry Sibiryakov
Можно, но поскольку это включает в себя прямое ковыряние системных таблиц, лучше этого не делать если не уверен в прямизне своих рук.

Создаёшь новое вычисляемое поле и переносишь из него BLR и прочий потрох в старое.

Re: Вычисляемые поля

Добавлено: 03 мар 2009, 14:40
vetal71
Dimitry Sibiryakov писал(а):Можно, но поскольку это включает в себя прямое ковыряние системных таблиц, лучше этого не делать если не уверен в прямизне своих рук.
Спасибо за совет

Re: Вычисляемые поля

Добавлено: 03 мар 2009, 15:20
hvlad
Firebird 2.5 писал(а):SQL> create table t_comp_by (id int, f1 computed by (id + 1));
SQL> insert into t_comp_by values (1);
SQL> select * from t_comp_by;

ID F1
============ =====================
1 2

SQL> commit;
SQL>
SQL> alter table t_comp_by alter column f1 computed by (id - 1);
SQL> select * from t_comp_by;

ID F1
============ =====================
1 0

SQL> commit;
SQL>
SQL> alter table t_comp_by alter column f1 computed by (current_date);
SQL> select * from t_comp_by;

ID F1
============ ===========
1 2009-03-03

SQL> commit;
SQL> drop table t_comp_by;
SQL> exit;

Re: Вычисляемые поля

Добавлено: 03 мар 2009, 15:49
WildSery
Влад, не дразнись 2.5-кой :)

Re: Вычисляемые поля

Добавлено: 03 мар 2009, 16:10
hvlad
WildSery писал(а):Влад, не дразнись 2.5-кой :)
А буду :)