【问题标题】:SAS Enterprise Guide - Export row counts for all tablesSAS Enterprise Guide - 导出所有表的行数
【发布时间】:2018-05-21 23:49:13
【问题描述】:

我正在尝试为连接创建数据字典。我需要找出每张桌子的大小。我可以导出所有表的列表并计算单个表的记录。代码示例:

proc sql;
connect to odbc as sql1 (dsn=EDWQA user=XXXX pw=XXXX readbuff=300 );

create table list4
as
select * from connection to sql1
(odbc::SQLTables);


create table list4
as
select * from connection to sql1
(select count(*) from ACCTLOAD.T_STG_IVR_LCIG_PLN1);

quit;

我希望导出每个表,其中包含每行的行数。任何帮助将不胜感激。

【问题讨论】:

  • 您好,请添加您想要的输出示例;你想导出到 sas 表还是 csv?你希望你的出口是什么样子的?
  • 表名;行数

标签: sql sas


【解决方案1】:

select count(*) 可能不想对数据库中的每个表都这样做——您的 DBA 可能不喜欢它。更好的查询是了解您正在连接的主机(未提及)并直接对其执行元数据查询。

proc sql;
  connect to odbc . . .;
  create table table_names_and_row_counts as
  from connection to obdc (
    select tablename, rowcount from
    *host DB meta query*
  );

主机数据库元查询因数据库而异。对于 SQL Server,请参阅 Stackoverflow Script that provides the row counts and table names 答案,该答案显示查询连接 sys.tablesschemasindexespartitions

【讨论】:

  • 主机是db2数据库
  • 如果您有权限并且最新的编目统计信息足够,请尝试使用syscat.tables,您可以在from connection to 中尝试此主机查询--select tabname, card from syscat.tables where tabschema = '<schemaName>'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-18
相关资源
最近更新 更多