Cara mendapatkan daftar tabel, Tampilan(view) dan kolom di database Firebird

Tabel dan tampilan disimpan dalam tabel RDB $ RELATIONS sistem. Sistem dan tampilan tabel telah RDB set $ SYSTEM_FLAG, sementara pengguna yang didefinisikan memiliki nol atau NULL. Anda dapat membedakan tampilan dari tabel karena mereka memiliki lapangan set RDB $ VIEW_BLR. Harap dicatat bahwa ada juga bidang RDB $ VIEW_SOURCE yang tersimpan sumber tampilan terbaca-manusia dan dapat diatur untuk NULL - database masih akan benar-benar fungsional karena menggunakan precompiled BLR. Berikut query untuk menampilkan semua tabel pengguna:


select rdb$relation_name
from rdb$relations
where rdb$view_blr is null
and (rdb$system_flag is null or rdb$system_flag = 0);


Sebuah query ke daftar semua pandangan:

select rdb$relation_name
from rdb$relations
where rdb$view_blr is not null
and (rdb$system_flag is null or rdb$system_flag = 0);

Tabel dan kolom tampilan disimpan dalam RDB $ RELATION_FIELDS. Ini menyimpan nama, bendera null, nilai default, dan domain. Dalam rangka untuk mendapatkan datatype yang Anda butuhkan untuk membaca info domain dari rdb $ ladang. Berikut ini adalah query yang berisi daftar semua tabel dengan kolom mereka:

select f.rdb$relation_name, f.rdb$field_name
from rdb$relation_fields f
join rdb$relations r on f.rdb$relation_name = r.rdb$relation_name
and r.rdb$view_blr is null
and (r.rdb$system_flag is null or r.rdb$system_flag = 0)
order by 1, f.rdb$field_position;

0 ɹɐʇuǝɯoʞ: