使用一个SQL获取所有PeopleSoft表的计数

在对PeopleSoft应用程序执行升级或应用维护时,您可能希望获得所有PeopleSoft表的行数。有几种方法我们将在下面讨论,最后,我认为这是最简单和最有效的方法。

选项1:运行UPGCOUNT AE

UPGCOUNT是一个交付的应用程序引擎程序,可以通过应用程序设计器或命令行运行。这个程序将输出一个包含所有PeopleSoft表计数的列表

选项2:从DBA_TABLE获取计数(在Oracle中)

DBA_TABLES包含Oracle数据库中所有表的行数。您可以在SQL下面运行以获取访问ID或所有者ID为SYSADM的PeopleSoft表的行计数。如果PeopleSoft所有者ID在您的情况下不同,请相应更改所有者的值。

SELECT TABLE_NAME, NUM_ROWS FROM DBA_TABLES WHERE OWNER='SYSADM';

上面的SQL将给出SYSADM模式中所有表的行数。但这个数字可能并不总是正确的。此表中的值是根据是否更新了统计信息来填充的。即使执行更新统计,计数也可能与实际计数不同。(尝试在几个表上运行count(*)并进行比较)。

选项3(最佳选项):SQL使用DBA_TABLE和COUNT(*)为您提供正确的输出。

我们发现这是最好的选择。这个SQL将只从DBA_TABLES获取表名,然后在所有PeopleSoft表上运行count(*)。这是获得实际行数的最佳选择。

select table_name, to_number(extractvalue(xmltype(dbms_xmlgen.getxml('select count(*) c from '||table_name)),'/ROWSET/ROW/C')) count from DBA_tables where owner='SYSADM';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值