Инструменты пользователя

Инструменты сайта


Боковая панель

Введение

Статьи и часто задаваемые вопросы

Установка и настройка

Обработка ошибок

Полезные запросы SQL

Тематические группы

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_NAMECHAR(31)Имя поля, должно быть уникальное для таблицы
RDB$QUERY_NAMECHAR(31)
RDB$VALIDATION_BLRBLOB
RDB$VALIDATION_SOURCEBLOB
RDB$COMPUTED_BLRBLOB
RDB$COMPUTED_SOURCEBLOBСодержит выражение для вычисления значения поля
RDB$DEFAULT_VALUEBLOB
RDB$DEFAULT_SOURCEBLOBСодержит значение по умолчанию для этого поля
RDB$FIELD_LENGTHSMALLINTДлина поля
RDB$FIELD_SCALESMALLINTМасштаб числовых типов данных
RDB$FIELD_TYPESMALLINTТип данных
RDB$FIELD_SUB_TYPESMALLINTПодтип данных
RDB$MISSING_VALUEBLOB
RDB$MISSING_SOURCEBLOB
RDB$DESCRIPTIONBLOB
RDB$SYSTEM_FLAGSMALLINT
RDB$QUERY_HEADERBLOB
RDB$SEGMENT_LENGTHSMALLINT
RDB$EDIT_STRINGVARCHAR(127)
RDB$EXTERNAL_LENGTHSMALLINT
RDB$EXTERNAL_SCALESMALLINT
RDB$EXTERNAL_TYPESMALLINT
RDB$DIMENSIONSSMALLINT
RDB$NULL_FLAGSMALLINT
RDB$CHARACTER_LENGTHSMALLINT
RDB$COLLATION_IDSMALLINT
RDB$CHARACTER_SET_IDSMALLINT
RDB$FIELD_PRECISIONSMALLINT

Типы данных

Код Тип
7SHORT
8LONG
9QUAD
10FLOAT
12DATE
13TIME
14TEXT
16INT64
27DOUBLE
35TIMESTAMP
37VARYING
40CSTRING
45BLOB_ID
261BLOB

Подтипы данных

Код Подтип
0BINARY
1TEXT
2BLR
3ACL
4RANGES
5SUMMARY
6FORMAT
7TRANSACTION_DESCRIPTION
8EXTERNAL_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 · Последние изменения: 2016/03/17 10:22 — 194.186.5.238