Pytanie : Firebird: dane typ wszystkie pole w użytkownik stół

Dobrze i próbować zapytanie dobrze w firebird:

SELECT b.RDB$FIELD_NAME, d.RDB$TYPE_NAME,
c.RDB$FIELD_LENGTH, b.RDB$NULL_FLAG
FROM RDB$RELATIONS a
INNER ŁĄCZYĆ RDB$RELATION_FIELDS b
ON a.RDB$RELATION_NAME = b.RDB$RELATION_NAME
INNER ŁĄCZYĆ RDB$FIELDS c
ON b.RDB$FIELD_SOURCE = c.RDB$FIELD_NAME
INNER ŁĄCZYĆ RDB$TYPES d
ON c.RDB$FIELD_TYPE = d.RDB$TYPE
WHERE a.RDB$SYSTEM_FLAG = 0
I d.RDB$FIELD_NAME = "RDB$FIELD_TYPE" I b.RDB$RELATION_NAME='tablename'< br/>ORDER A.RDB$RELATION_NAME, b.RDB$FIELD_ID


this zapytanie wracać stół ale kompletnie i chcieć.

I potrzeba dane typ the pole nvarchar (20) lub integer i 20. Wkrótce coulmns i potrzebować być

COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLE.

When i robić zapytanie w typ jako below

select rdb$type_name od RDB$TYPES

that wracać the typ. Ale i znać typ być krzywda, ponieważ I móc the typ gdy integer (int32, int lub INTEGER) i varchar Etc. Także i zastanawiać się jak i móc wszystkie te typ. Dzięki już dla jakaś help.

Odpowiedź : Firebird: dane typ wszystkie pole w użytkownik stół

Ono używać wewnętrzny datatype imię.
SKRÓT dla SMALLINT
TĘSKNIĆ dla INTEGER
Dla VARCHAR
TEKST dla PRZYPALAĆ

Ty móc ten pomysł:
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
WYBRANY ODRĘBNY CAMPOS.RDB$FIELD_NAME JAKO COLUMN_NAME, 
SKRZYNKA 
 GDY DADOSCAMPO.RDB$FIELD_PRECISION > (0) WTEDY "NUMERYK" 
 GDY TIPOS.RDB$TYPE_NAME = "TĘSKNIĆ" WTEDY "INTEGER" 
 GDY TIPOS.RDB$TYPE_NAME = "KRÓTKI" WTEDY "SMALLINT" 
 GDY TIPOS.RDB$TYPE_NAME = "INT64" WTEDY "NUMERYK" 
 GDY TIPOS.RDB$TYPE_NAME = "" WTEDY "VARCHAR" 
 GDY TIPOS.RDB$TYPE_NAME = "TEKST" WTEDY "PRZYPALAĆ" 
 GDY TIPOS.RDB$TYPE_NAME = "KROPLA" WTEDY "KROPLA SUB_TYPE" 
   INNY TIPOS.RDB$TYPE_NAME 
 KOŃCÓWKA JAKO FIELD_TYPE, 
 SKRZYNKA 
 GDY DADOSCAMPO.RDB$FIELD_TYPE W (16,8) WTEDY DADOSCAMPO.RDB$FIELD_PRECISION 
   INNY DADOSCAMPO.RDB$FIELD_LENGTH 
 KOŃCÓWKA JAKO DATA_LENGTH, DADOSCAMPO.RDB$FIELD_SCALE JAKO DATA_SCALE, 
 SKRZYNKA CAMPOS.RDB$NULL_FLAG GDY (1) WTEDY "N" INNY "Y" KOŃCÓWKA JAKO NULLABLE 
 OD 
   RDB$RELATIONS TABELAS, RDB$RELATION_FIELDS CAMPOS, RDB$FIELDS 
   DADOSCAMPO, RDB$TYPES TIPOS 
 DOKĄD TABELAS.RDB$RELATION_NAME = "PESSOAS" 
   I TIPOS.RDB$FIELD_NAME = "RDB$FIELD_TYPE" 
   I TABELAS.RDB$RELATION_NAME = CAMPOS.RDB$RELATION_NAME 
   I CAMPOS.RDB$FIELD_SOURCE = DADOSCAMPO.RDB$FIELD_NAME 
   I DADOSCAMPO.RDB$FIELD_TYPE = TIPOS.RDB$TYPE 
   ROZKAZ CAMPOS.RDB$FIELD_POSITION
Inne rozwiązania  
 
programming4us programming4us