Created
April 3, 2018 11:33
-
-
Save avandrevitor/ad708024e0bc379706e8fe809e9753df to your computer and use it in GitHub Desktop.
Consulta para trazer os detalhes dos campos ( dominios ), criados no Firebird
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| -- | |
| -- https://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref-appx04-fields.html | |
| -- http://docwiki.embarcadero.com/InterBase/XE7/en/RDB$FIELDS | |
| -- | |
| SELECT | |
| RDB$FIELD_NAME AS FIELD_NAME, | |
| RDB$DESCRIPTION AS FIELD_DESCRIPTION, | |
| RDB$FIELD_TYPE AS FIELD_TYPE_CODE, | |
| RDB$FIELD_SUB_TYPE AS SUB_TYPE_CODE, | |
| RDB$FIELD_LENGTH AS SIZE_IN_BYTES, | |
| RDB$FIELD_SCALE AS SCALE, | |
| RDB$FIELD_PRECISION AS FIELD_PRECISION, | |
| CASE RDB$FIELD_TYPE | |
| WHEN 7 THEN | |
| CASE RDB$FIELD_SUB_TYPE | |
| WHEN 0 THEN 'SMALLINT' | |
| WHEN 1 THEN 'NUMERIC(' || RDB$FIELD_PRECISION || ',' || (-RDB$FIELD_SCALE) || ')' | |
| WHEN 2 THEN 'DECIMAL' | |
| ELSE | |
| 'SMALLINT' | |
| END | |
| WHEN 8 THEN | |
| CASE RDB$FIELD_SUB_TYPE | |
| WHEN 0 THEN 'INTEGER' | |
| WHEN 1 THEN 'NUMERIC(' || RDB$FIELD_PRECISION || ',' || (-RDB$FIELD_SCALE) || ')' | |
| WHEN 2 THEN 'DECIMAL' | |
| ELSE | |
| 'INTEGER' | |
| END | |
| WHEN 9 THEN 'QUAD' | |
| WHEN 10 THEN 'FLOAT' | |
| WHEN 12 THEN 'DATE' | |
| WHEN 13 THEN 'TIME' | |
| WHEN 14 THEN 'CHAR' | |
| WHEN 16 THEN | |
| CASE RDB$FIELD_SUB_TYPE | |
| WHEN 0 THEN 'BIGINT' | |
| WHEN 1 THEN 'NUMERIC(' || RDB$FIELD_PRECISION || ',' || (-RDB$FIELD_SCALE) || ')' | |
| WHEN 2 THEN 'DECIMAL' | |
| ELSE | |
| 'BIGINT' | |
| END | |
| WHEN 23 THEN 'BOOLEAN' | |
| WHEN 27 THEN | |
| CASE RDB$FIELD_SUB_TYPE | |
| WHEN 0 THEN 'DOUBLE PRECISION' | |
| WHEN 1 THEN 'NUMERIC(' || RDB$FIELD_PRECISION || ',' || (-RDB$FIELD_SCALE) || ')' | |
| WHEN 2 THEN 'DECIMAL' | |
| ELSE | |
| 'DOUBLE PRECISION' | |
| END | |
| WHEN 35 THEN 'TIMESTAMP' | |
| WHEN 37 THEN 'VARCHAR' | |
| WHEN 40 THEN 'CSTRING' | |
| WHEN 261 THEN 'BLOB' | |
| END FIELD_TYPE_NAME, | |
| CASE RDB$SYSTEM_FLAG | |
| WHEN 0 THEN 'USER' | |
| WHEN 1 THEN 'SYSTEM' | |
| END CREATED_BY | |
| FROM RDB$FIELDS | |
| ORDER BY RDB$SYSTEM_FLAG DESC,FIELD_NAME ASC; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment