SQL Serverでテーブル一覧に関する情報を取得する。
テーブル一覧取得
全テーブル取得
select * from sys.objects;
ユーザーテーブルだけ
select * from sys.objects where type = 'U';
特定(hoge)のスキーマ配下だけ
select * from sys.objects where schema_id = schema_id('hoge');
##テーブルの行数を一括で求める(PostgreSQL風)
特定(hoge)のスキーマ配下のテーブルの行数を求める
select
schema_name(SYSOBJ.schema_id) as schemaname,
SYSOBJ.name as relname,
SINDEXES.rows as n_live_tup
from sys.objects as SYSOBJ inner join sys.sysindexes as SYSINDEXES on
SYSOBJ.object_id = SYSINDEXES.id and
SYSINDEXES.indid < 2
where SYSOBJ.type = 'U'
and schema_name(SYSOBJ.schema_id) = 'hoge'
order by SYSOBJ.name;