Thread View: pl.comp.lang.java
2 messages
2 total messages
Started by J-23
Thu, 27 Sep 2012 11:47
Fierbird info o tabelach
Author: J-23
Date: Thu, 27 Sep 2012 11:47
Date: Thu, 27 Sep 2012 11:47
32 lines
2029 bytes
2029 bytes
Witam
Potrzebuje wyciągnąć informacje o tabelach w Firebird i mam takie zapytanie
SELECT a.RDB$RELATION_NAME, b.RDB$FIELD_NAME, b.RDB$FIELD_ID,
d.RDB$TYPE_NAME,
c.RDB$FIELD_LENGTH, c.RDB$FIELD_SCALE
FROM RDB$RELATIONS a
INNER JOIN RDB$RELATION_FIELDS b
ON a.RDB$RELATION_NAME = b.RDB$RELATION_NAME
INNER JOIN RDB$FIELDS c
ON b.RDB$FIELD_SOURCE = c.RDB$FIELD_NAME
INNER JOIN RDB$TYPES d
ON c.RDB$FIELD_TYPE = d.RDB$TYPE
WHERE a.RDB$SYSTEM_FLAG = 0
AND d.RDB$FIELD_NAME = 'RDB$FIELD_TYPE'
ORDER BY a.RDB$RELATION_NAME, b.RDB$FIELD_ID
wyświetla mi wszystko co chce (prawie) tyko chciałbym jeszcze 2 rzeczy
1) zeby w typie pola była wyświetlana pełna nazwa np:
Integer to mam Integer a nie jak teraz INT
Varchar to mam Varchar a nie jak teraz VARYING
Jeżeli się nie da to ok zapis jest wystarczająco jasny by sobie to
oprogramować odpowiednio.
2) Jeżeli typ pola został wcześniej zdefiniowany w "Domains" to żeby
była wyświetlana nazwa tego "Domains" jako typ pola
Szukałem lecz nie znalazłem i stąd prośba do Was
Pozdrawiam
Re: Fierbird info o tabelach
Author: J-23
Date: Thu, 27 Sep 2012 15:54
Date: Thu, 27 Sep 2012 15:54
53 lines
2875 bytes
2875 bytes
W dniu 27.09.2012 13:47, J-23 pisze:
> Witam
> Potrzebuje wyciągnąć informacje o tabelach w Firebird i mam takie zapytanie
>
> SELECT a.RDB$RELATION_NAME, b.RDB$FIELD_NAME, b.RDB$FIELD_ID,
> d.RDB$TYPE_NAME,
> c.RDB$FIELD_LENGTH, c.RDB$FIELD_SCALE
> FROM RDB$RELATIONS a
> INNER JOIN RDB$RELATION_FIELDS b
> ON a.RDB$RELATION_NAME = b.RDB$RELATION_NAME
> INNER JOIN RDB$FIELDS c
> ON b.RDB$FIELD_SOURCE = c.RDB$FIELD_NAME
> INNER JOIN RDB$TYPES d
> ON c.RDB$FIELD_TYPE = d.RDB$TYPE
> WHERE a.RDB$SYSTEM_FLAG = 0
> AND d.RDB$FIELD_NAME = 'RDB$FIELD_TYPE'
> ORDER BY a.RDB$RELATION_NAME, b.RDB$FIELD_ID
>
> wyświetla mi wszystko co chce (prawie) tyko chciałbym jeszcze 2 rzeczy
>
> 1) zeby w typie pola była wyświetlana pełna nazwa np:
> Integer to mam Integer a nie jak teraz INT
> Varchar to mam Varchar a nie jak teraz VARYING
>
> Jeżeli się nie da to ok zapis jest wystarczająco jasny by sobie to
> oprogramować odpowiednio.
>
> 2) Jeżeli typ pola został wcześniej zdefiniowany w "Domains" to żeby
> była wyświetlana nazwa tego "Domains" jako typ pola
>
> Szukałem lecz nie znalazłem i stąd prośba do Was
>
Dla potomnych
SELECT a.rdb$relation_name AS tables,
b.rdb$field_name AS field,
IIF(POSITION('RDB$' IN c.rdb$field_name) =
0,c.rdb$field_name,d.rdb$type_name) AS TYPE,
c.rdb$field_length AS LENGTH
FROM rdb$relations a
INNER JOIN rdb$relation_fields b
ON a.rdb$relation_name = b.rdb$relation_name
INNER JOIN rdb$fields c
ON b.rdb$field_source = c.rdb$field_name
INNER JOIN rdb$types d
ON c.rdb$field_type = d.rdb$type
WHERE a.rdb$system_flag = 0
AND d.rdb$field_name = 'RDB$FIELD_TYPE'
AND a.rdb$relation_name = 'NAZWATABELI'
ORDER BY a.rdb$relation_name, b.rdb$field_id
Pozdrawiam
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads