|
DDL таблицы с калькулируемым полем (Computed BY)
|
|||
---|---|---|---|
#18+
Здравствуйте, коллеги! Баг или фича? В UTF базе (да думаю и не только в ней) создал простую табличку с калькулируемым полем: CREATE TABLE GUEST ( LAST_NAME VARCHAR(100), FIRST_NAME VARCHAR(100), MIDDLE_NAME VARCHAR(100), FIO VARCHAR(110) COMPUTED BY ( LAST_NAME || COALESCE(' ' || SUBSTRING(NULLIF(TRIM(FIRST_NAME), '') FROM 1 FOR 1) || '.', '') || COALESCE(' ' || SUBSTRING(NULLIF(TRIM(MIDDLE_NAME), '') FROM 1 FOR 1) || '.', ''))); Проблема нарисовалась тут, когда посмотрел на вкладку DDL в IBExpert (потеряна информация о размерности поля FIO): /******************************************************************************/ /*** Tables ***/ /******************************************************************************/ CREATE TABLE GUEST ( LAST_NAME VARCHAR(100), FIRST_NAME VARCHAR(100), MIDDLE_NAME VARCHAR(100), FIO COMPUTED BY ( LAST_NAME || COALESCE(' ' || SUBSTRING(NULLIF(TRIM(FIRST_NAME), '') FROM 1 FOR 1) || '.', '') || COALESCE(' ' || SUBSTRING(NULLIF(TRIM(MIDDLE_NAME), '') FROM 1 FOR 1) || '.', '')) ); /******************************************************************************/ И вроде не очень страшно, но: - на базе с UTF FB генерит размер для поля аж в VARCHAR(1216) ; - при сравнении баз, подозреваю, информация о размере поля тоже потеряется. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 09:05 |
|
DDL таблицы с калькулируемым полем (Computed BY)
|
|||
---|---|---|---|
#18+
ИМХО, вообще не страшно. Сервер должен правильно тип поля генерить, а вот эксперт, возможно, чудит. Проверю. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2015, 10:26 |
|
|
start [/forum/topic.php?fid=42&fpage=27&tid=1599470]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 147ms |
0 / 0 |