rdb_fields
Содержание
RDB$FIELDS
Версии сервера
0.9 | 1.0 | 1.5.3 | 1.5.4 | 1.5.5 | 2.0 | 2.0.3 | 2.0.4 | 2.1 | 2.5 | 3.0 |
---|---|---|---|---|---|---|---|---|---|---|
Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да |
Доступно в
Формат
rdb fields
Описание
Информация о доменах базы данных
Имя столбца | Тип | Описание |
---|---|---|
RDB$FIELD_NAME | CHAR(31) | Имя поля, должно быть уникальное для таблицы |
RDB$QUERY_NAME | CHAR(31) | |
RDB$VALIDATION_BLR | BLOB | |
RDB$VALIDATION_SOURCE | BLOB | |
RDB$COMPUTED_BLR | BLOB | |
RDB$COMPUTED_SOURCE | BLOB | Содержит выражение для вычисления значения поля |
RDB$DEFAULT_VALUE | BLOB | |
RDB$DEFAULT_SOURCE | BLOB | Содержит значение по умолчанию для этого поля |
RDB$FIELD_LENGTH | SMALLINT | Длина поля |
RDB$FIELD_SCALE | SMALLINT | Масштаб числовых типов данных |
RDB$FIELD_TYPE | SMALLINT | Тип данных |
RDB$FIELD_SUB_TYPE | SMALLINT | Подтип данных |
RDB$MISSING_VALUE | BLOB | |
RDB$MISSING_SOURCE | BLOB | |
RDB$DESCRIPTION | BLOB | |
RDB$SYSTEM_FLAG | SMALLINT | |
RDB$QUERY_HEADER | BLOB | |
RDB$SEGMENT_LENGTH | SMALLINT | |
RDB$EDIT_STRING | VARCHAR(127) | |
RDB$EXTERNAL_LENGTH | SMALLINT | |
RDB$EXTERNAL_SCALE | SMALLINT | |
RDB$EXTERNAL_TYPE | SMALLINT | |
RDB$DIMENSIONS | SMALLINT | |
RDB$NULL_FLAG | SMALLINT | |
RDB$CHARACTER_LENGTH | SMALLINT | |
RDB$COLLATION_ID | SMALLINT | |
RDB$CHARACTER_SET_ID | SMALLINT | |
RDB$FIELD_PRECISION | SMALLINT |
Типы данных
Код | Тип | Начиная с | Диалект |
---|---|---|---|
7 | SHORT | - | 1-3 |
8 | LONG | - | 1-3 |
9 | QUAD | - | |
10 | FLOAT | - | 1-3 |
12 | DATE | - | 1-3 |
13 | TIME | - | 3 |
14 | TEXT | - | 1-3 |
16 | INT64 | - | 3 |
23 | BOOLEAN | 3.0 | 3 |
27 | DOUBLE | - | 1-3 |
35 | TIMESTAMP | - | 3 |
37 | VARYING | - | 1-3 |
40 | CSTRING | - | 1-3 |
45 | BLOB_ID | - | |
261 | BLOB | - | 1-3 |
Подтипы данных
Код | Подтип |
---|---|
0 | BINARY |
1 | TEXT |
2 | BLR |
3 | ACL |
4 | RANGES |
5 | SUMMARY |
6 | FORMAT |
7 | TRANSACTION_DESCRIPTION |
8 | EXTERNAL_FILE_DESCRIPTION |
===== Пример ===== старый и данные устаревшие, поэтому вы получите не то, что запросили
SELECT CAST( 'CREATE DOMAIN '||TRIM(RDB$FIELD_NAME)||' as '|| CASE RDB$FIELD_TYPE WHEN 7 THEN 'SMALLINT' WHEN 8 THEN 'INTEGER' WHEN 12 THEN 'DATE' WHEN 13 THEN 'TIME' WHEN 14 THEN 'CHAR('||rdb$field_length||')' WHEN 16 THEN iif(rdb$field_sub_type = 0,'BIGINT', 'NUMERIC('||RDB$FIELD_PRECISION||','||(-1*rdb$field_scale)||')') WHEN 35 THEN 'TIMESTAMP' WHEN 37 THEN 'VARCHAR('||rdb$field_length||')' WHEN 261 THEN 'BLOB SUB_TYPE '||rdb$field_sub_type||' SEGMENT SIZE '||rdb$segment_length ELSE CAST(RDB$FIELD_TYPE AS VARCHAR(10)) END ||TRIM(iif(RDB$NULL_FLAG = 1,' NOT NULL ',' ') ||COALESCE(' '||RDB$DEFAULT_SOURCE,'') ||COALESCE(' '||rdb$validation_SOURCE,'')) ||';' AS VARCHAR(1000)) FROM RDB$FIELDS WHERE (NOT (RDB$FIELD_NAME starting WITH 'RDB$')) AND RDB$SYSTEM_FLAG = 0 ORDER BY RDB$FIELD_NAME
См. также
Источник
%Firebird%\doc\
rdb_fields.txt · Последнее изменение: 2018/05/16 04:00 — 89.178.206.115
Обсуждение