SAS Enterprise Guide - 导出所有表的行数

时间:2018-05-21 14:57:30

标签: sql sas

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

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;

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

1 个答案:

答案 0 :(得分:0)

可能不希望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*
  );

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

的查询