Vraag : Firebird: om gegevenstypes van alle gebieden in gebruikerslijsten te krijgen

Goed probeer ik een vraag zoals hieronder in firebird:

SELECT b.RDB$FIELD_NAME, d.RDB$TYPE_NAME,
c.RDB$FIELD_LENGTH, b.RDB$NULL_FLAG
FROM RDB$RELATIONS a
INNER SLUIT zich aan bij RDB$RELATION_FIELDS b
ON a.RDB$RELATION_NAME = b.RDB$RELATION_NAME
INNER AANSLUIT zich bij RDB$FIELDS c
ON b.RDB$FIELD_SOURCE = c.RDB$FIELD_NAME
INNER AANSLUIT zich bij RDB$TYPES d
ON c.RDB$FIELD_TYPE = d.RDB$TYPE
WHERE a.RDB$SYSTEM_FLAG = 0
EN d.RDB$FIELD_NAME = „RDB$FIELD_TYPE“ EN b.RDB$RELATION_NAME='tablename'< br/>ORDER DOOR a.RDB$RELATION_NAME, vraag b.RDB$FIELD_ID


this keert me terug een lijst maar niet totaal wil ik.

I de soorten van behoeftegegevens de gebieden zoals nvarchar (20) of geheel en zulke. Binnenkort coulmns is de Ibehoefte

COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLE.

When ik een vraag in types maak aangezien below

select rdb$type_name van RDB$TYPES

that me de types terugkeert. Maar ik weet wat niet verkeerd is, omdat ik niet de types als geheel (int32, int. of GEHEEL) en varchar enz. kan zien. Ook ben ik benieuwd hoe ik van al deze types kan een lijst maken. Dank reeds voor om het even welke help.

Antwoord : Firebird: om gegevenstypes van alle gebieden in gebruikerslijsten te krijgen

Het gebruikt interne datatypenamen.
PLOTSELING voor SMALLINT
LANG voor GEHEEL
Het VARIËREN voor VARCHAR
TEKST voor KLUSJE

U kunt dit idee gebruiken:
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:
SELECTEER VERSCHILLENDE CAMPOS.RDB$FIELD_NAME ALS COLUMN_NAME, 
COMPUTER-AIDED SOFTWARE ENGINEERING 
 WANNEER DADOSCAMPO.RDB$FIELD_PRECISION > „NUMERIEKE“ 0 TOEN 
 WANNEER TIPOS.RDB$TYPE_NAME = „LANG“ TOEN „GEHEEL“ 
 WANNEER TIPOS.RDB$TYPE_NAME = „PLOTSELING“ TOEN „SMALLINT“ 
 WANNEER TIPOS.RDB$TYPE_NAME = „„NUMERIEKE“ INT64“ TOEN 
 WANNEER TIPOS.RDB$TYPE_NAME = „HET VARIËREN“ TOEN „VARCHAR“ 
 WANNEER TIPOS.RDB$TYPE_NAME = DE „TEKST“ DAN „VERKOOLT“ 
 WANNEER TIPOS.RDB$TYPE_NAME = „DE VLEK SUB_TYPE“ VAN DE „VLEK“ TOEN 
   ANDERS TIPOS.RDB$TYPE_NAME 
 EIND ALS FIELD_TYPE, 
 COMPUTER-AIDED SOFTWARE ENGINEERING 
 WANNEER DADOSCAMPO.RDB$FIELD_TYPE IN (16.8) TOEN DADOSCAMPO.RDB$FIELD_PRECISION 
   ANDERS DADOSCAMPO.RDB$FIELD_LENGTH 
 EIND ALS DATA_LENGTH, DADOSCAMPO.RDB$FIELD_SCALE ALS DATA_SCALE, 
 COMPUTER-AIDED SOFTWARE ENGINEERING CAMPOS.RDB$NULL_FLAG WANNEER 1 TOEN ANDERS „Y“ EIND VAN „N“ ALS NULLABLE 
 VAN 
   RDB$RELATIONS TABELAS, RDB$RELATION_FIELDS CAMPOS, RDB$FIELDS 
   DADOSCAMPO, RDB$TYPES TIPOS 
 WAAR TABELAS.RDB$RELATION_NAME = „PESSOAS“ 
   EN TIPOS.RDB$FIELD_NAME = „RDB$FIELD_TYPE“ 
   EN TABELAS.RDB$RELATION_NAME = CAMPOS.RDB$RELATION_NAME 
   EN CAMPOS.RDB$FIELD_SOURCE = DADOSCAMPO.RDB$FIELD_NAME 
   EN DADOSCAMPO.RDB$FIELD_TYPE = TIPOS.RDB$TYPE 
   ORDE DOOR CAMPOS.RDB$FIELD_POSITION
Andere oplossingen  
 
programming4us programming4us