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

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


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-1-3
8LONG-1-3
9QUAD-
10FLOAT-1-3
12DATE-1-3
13TIME-3
14TEXT-1-3
16INT64-3
23BOOLEAN3.03
27DOUBLE-1-3
35TIMESTAMP-3
37VARYING-1-3
40CSTRING-1-3
45BLOB_ID-
261BLOB-1-3

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

Код Подтип
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\

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
R E X F G
 
rdb_fields.txt · Последнее изменение: 2018/05/16 04:00 — 89.178.206.115