sql - 如何遍历PLSQL Select的结果

标签 sql loops plsql

我试图查找在Oracle数据库的特定列中有多少次出现特定值。该列用于数十个表中,并且我将不得不多次运行查询,因此我不想单独查询每个表。我可以使用类似以下内容获取要搜索的表的列表:

Select table_name from all_tab_cols
   join all_tables using (table_name)
   where column_name = 'EmployeeId' and num_rows > 0

下一步是遍历表名列表,并输出每个表中包含EmployeeId列中特定值的每个表。例如,输出可能类似于:
**Table Name   Column_name   # Rows for EmployeeId = '123456'**
Table 1        EmployeeId                    1
Table 2        EmployeeId                   12
etc.

我不是开发人员,也没有在SQL脚本中使用游标的经验,因此将不胜感激。

最佳答案

尝试使用CURSOR FOR LOOP

可能看起来如下图所示(未尝试)。

BEGIN
FOR item IN
(Select table_name,column_name,num_rows  from all_tab_cols
   join all_tables using (table_name)
   where column_name = 'EmployeeId' and num_rows > 0)
LOOP
DBMS_OUTPUT.PUT_LINE
(item.table_name || '    ' || item.column_name ||'    '||item.num_rows);
END LOOP;
END;

关于sql - 如何遍历PLSQL Select的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49635353/

相关文章:

c# - 将 SQL Server Express 表迁移到 SQL Server 数据库

sql - 如何更改 DataGrip 中的字符集?

jquery - 如何制作jquery无限动画?

oracle - refcursor 返回包​​含所有数据列表的对象

plsql - 从PLSQL关联数组中选择?

oracle - ELSE 如果在 PL/SQL 中不起作用

mysql - 跨 2 个表分隔用户?

java - SPRING MVC数据库jdbc错误

javascript数组for循环i+1返回未定义

Java,函数不识别return语句