返回架构中某些表中所有唯一ID的计数的SQL过程
我想编写一个存储过程,它捕获模式中具有一个名为ID列的所有表,一旦有了这些表,我想输出每个表中唯一ID的计数 前 表1 表2 输出: 我已经实现了后一部分,但是第一部分我遇到了困难。以下是我目前的脚本: 创建或替换过程获取\u id\u计数 是 开始 对于dba_表循环中的SELECT*表 立即执行“从MySchema中选择ID,COUNT*。| | table|n.table|u name | |“按ID分组”; 端环; 终止 / 执行get_id_计数;返回架构中某些表中所有唯一ID的计数的SQL过程,sql,stored-procedures,Sql,Stored Procedures,我想编写一个存储过程,它捕获模式中具有一个名为ID列的所有表,一旦有了这些表,我想输出每个表中唯一ID的计数 前 表1 表2 输出: 我已经实现了后一部分,但是第一部分我遇到了困难。以下是我目前的脚本: 创建或替换过程获取\u id\u计数 是 开始 对于dba_表循环中的SELECT*表 立即执行“从MySchema中选择ID,COUNT*。| | table|n.table|u name | |“按ID分组”; 端环; 终止 / 执行get_id_计数; 当前我收到错误:%s:标识符无效,我
当前我收到错误:%s:标识符无效,我假定这是由于架构中并非所有表都具有列ID(假定您的数据库是Oracle)造成的 使用dba_选项卡_列仅获取具有ID列的列 因此,将您的查询从
SELECT * FROM dba_tables
到
这是Oracle数据库吗?请标记相应的数据库。那么您需要查找所有具有列ID的表吗?
SELECT * FROM dba_tables where table_name in (select table_name from dba_tab_columns where column_name = 'ID');