30.2. Tipos de dado

As colunas das visões do esquema de informações utilizam tipos de dado especiais, definidos no esquema de informações. São definidos como domínios simples sobre tipos nativos comuns. Estes tipos não devem ser utilizados fora do esquema de informações, mas os aplicativos devem estar preparados para trabalhar com os mesmos, caso façam consultas ao esquema de informações.

Os tipos são:

cardinal_number

Inteiro não negativo. [1]

character_data

Cadeia de caracteres (sem comprimento máximo especificado). [2]

sql_identifier

Cadeia de caracteres. Este tipo é utilizado para os identificadores do SQL, enquanto o tipo character_data é utilizado para todos os outros tipos de dado textuais. [3]

time_stamp

Domínio sobre o tipo timestamp [4]

Todas as colunas do esquema de informações possuem um destes quatro tipos.

O tipo de dado booleano (verdade/falso) é representado no esquema de informações por uma coluna do tipo character_data contendo YES ou NO (O esquema de informações foi inventado antes do tipo boolean ser adicionado ao padrão SQL e, portanto, esta convenção é necessária para manter o esquema de informações compatível com o passado).

Exemplo: Criação dos domínios do esquema de informações conforme o arquivo src/backend/catalog/information_schema.sql. [5]

=> CREATE DOMAIN cardinal_number AS INTEGER
->   CONSTRAINT cardinal_number_domain_check
->       CHECK (value >= 0 );
CREATE DOMAIN
=> CREATE DOMAIN character_data AS
->   CHARACTER VARYING;
CREATE DOMAIN
=> CREATE DOMAIN sql_identifier AS
->   CHARACTER VARYING;
CREATE DOMAIN
=> CREATE DOMAIN time_stamp AS TIMESTAMP(2)
->   DEFAULT current_timestamp(2);
CREATE DOMAIN

Notas

[1]

CREATE DOMAIN CARDINAL_NUMBER AS INTEGER CONSTRAINT CARDINAL_NUMBER_DOMAIN_CHECK CHECK (VALUE >= 0 ); (ISO-ANSI Working Draft) Information and Definition Schemas (SQL/Schemata), ISO/IEC 9075-11:2003 (E) (N. do T.)

[2]

CREATE DOMAIN CHARACTER_DATA AS CHARACTER VARYING (ML) CHARACTER SET SQL_TEXT; (ISO-ANSI Working Draft) Information and Definition Schemas (SQL/Schemata), ISO/IEC 9075-11:2003 (E) (N. do T.)

[3]

CREATE DOMAIN SQL_IDENTIFIER AS CHARACTER VARYING(L) CHARACTER SET SQL_IDENTIFIER; (ISO-ANSI Working Draft) Information and Definition Schemas (SQL/Schemata), ISO/IEC 9075-11:2003 (E) (N. do T.)

[4]

CREATE DOMAIN TIME_STAMP AS TIMESTAMP(2) WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP(2); (ISO-ANSI Working Draft) Information and Definition Schemas (SQL/Schemata), ISO/IEC 9075-11:2003 (E) (N. do T.)

[5]

Exemplo escrito pelo tradutor, não fazendo parte do manual original.

SourceForge.net Logo CSS válido!