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

Модераторы: kdv, CyberMax

Ответить
vetal71
Сообщения: 12
Зарегистрирован: 04 сен 2007, 09:58

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

Сообщение vetal71 » 02 мар 2009, 23:16

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

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

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

Сообщение Dimitry Sibiryakov » 03 мар 2009, 14:37

Можно, но поскольку это включает в себя прямое ковыряние системных таблиц, лучше этого не делать если не уверен в прямизне своих рук.

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

vetal71
Сообщения: 12
Зарегистрирован: 04 сен 2007, 09:58

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

Сообщение vetal71 » 03 мар 2009, 14:40

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

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

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

Сообщение hvlad » 03 мар 2009, 15:20

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;

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

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

Сообщение WildSery » 03 мар 2009, 15:49

Влад, не дразнись 2.5-кой :)

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

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

Сообщение hvlad » 03 мар 2009, 16:10

WildSery писал(а):Влад, не дразнись 2.5-кой :)
А буду :)

Ответить