Oracle数据库 如何根据某个字段名的值去查询存在的表列表
2024-09-26 17:01:51
declare
v_sql varchar2(1000);
data_count number;
begin
-- OWNER是模式名 tablespace_name是表空间
for cur_table in (select distinct table_name
from ALL_ALL_TABLES WHERE OWNER='NEWJNCJEXT' and tablespace_name='JNCJ') loop
for cur_column in (select distinct column_name,data_type from all_tab_columns a where a.OWNER='NEWJNCJEXT' and a.TABLE_NAME = cur_table.table_name) loop if cur_column.data_type = 'VARCHAR2' then -- SQL 拼接
v_sql := 'select count(1) from ' || cur_table.table_name ||
' where ' || cur_column.column_name || '=''EEB10A60-7117-11DE-8A60-CAAB113F4FFE'''; -- 执行SQL
execute immediate v_sql into data_count;
if (data_count > 0) then
DBMS_OUTPUT.PUT_LINE(v_sql);
end if;
end if;
end loop;
end loop;
end;
以上SQL是在Oracle 11g下执行的
关于 DBMS_OUTPUT.PUT_LINE 的输出方式,你可以参考 https://docs.oracle.com/cd/E11882_01/appdev.112/e25519/controlstatements.htm#LNPLS399 里的一些示例
最新文章
- CentOS下SNMP的安装与使用
- tensorflow添加自定义的auc计算operator
- SQL中CHARINDEX()/INSTR()函数和SUBSTRING()/SUBSTR()函数
- PHP中CURL方法curl_setopt()函数的参数
- UART UVM验证平台平台搭建总结
- bat拷贝文件
- tmux鼠标配置出现错误unknown option: mode-mouse
- CMD远程连接服务器上的MySQL
- Spring之事件监听(观察者模型)
- Callable Future接口的设计原理
- 13.缓存、三级缓存、内存溢出、AsyncTask
- 众里寻他千百度?No!这项技术只需走两步就能“看穿”你!
- C#中,重新排列panel中的按钮
- P1004 方格取数-洛谷luogu-dp动态规划
- python基础之 025 模块加载与import的使用
- 2690036 - SAP HANA 2.0 SPS 03 Database Revision 034
- ubuntu16.04下安装mysql,并开启远程访问
- hadoop 日常问题汇总(持续更新)
- 使用 Jenkins 和 Team Services 将应用部署到 Linux VM
- Debugging and performance,ETW