web-dev-qa-db-ja.com

メタデータからテーブルの行数を見つける

単一のselect文を記述して、Sybase IQの一連のテーブルの行数を決定します。

SASでは、私はこれを次のように書きます

CREATE TABLE dsnobs as
SELECT libname,memname,nlobs, datetime() format DATETIME16. as timestamp
FROM dictionary.tables 
WHERE (libname=upcase('MY_LIB') & memname IN ('TABLE_1', 'TABLE_2', 'TABLE_3'));

ご参考までに、

  • a SAS libnameは、テーブル作成者またはテーブルスペースのようなものです。
  • ディクショナリはIQ SYSテーブルに似ています
  • memnameはテーブルの名前です

IQでも同じことができますか?

おおよその解決策、または使用されているスペースの表示も私に合っています。

3
Dirk Horsten

SybaseIQ 16(SAP IQ 16.0 SP08)の場合、システムview SYSTABを次のように使用します。

select * from SYSTAB

これが SyBase IQ v16のドキュメント へのリンクです。ページ918(上記の私のコメントへの修正)は言う:

SYSTABシステムビューの各行は、データベース内の1つのテーブルまたはビューを示します。ビューの追加情報は、SYSVIEWシステムビューにあります。このビューの基本となるシステムテーブルはISYSTABです。

列:countデータ型:UNSIGNED BIGINT説明:テーブルまたはマテリアライズドビューの行数。この値は、チェックポイントが成功するたびに更新されます。この数は、データベースアクセスを最適化するために使用されます。非マテリアライズドビューまたはリモートテーブルの場合、カウントは常に0です。

1
Stoleg