Oracle 查询数据库中包含某一特定值的所有字段名,以及表名
2017-08-16 13:53
363 查看
/* 使用方法: 0.替换关键字 1.执行代码部分,创建 MY_Pro_SearchKeyWord 2.在Procedures中找到MY_Pro_SearchKeyWord 右键测试 3.执行显示的代码部分 4.在 DBMS输出 中查看执行结果 */ create or replace procedure MY_Pro_SearchKeyWord is v_sql VARCHAR2(4000); v_tb_column VARCHAR2(4000); v_cnt NUMBER(18,0); cursor cur is SELECT 'SELECT '''||'"'||t1.table_name||'"."'||t1.Column_Name||'"'||''''||' as col_name, NVL(COUNT(t."'||t1.Column_Name||'"),0) as cnt FROM "'|| t1.table_name||'" t WHERE t."'||t1.column_name||'" like ''%关键字%''' AS str FROM cols t1 left join user_col_comments t2 on t1.Table_name=t2.Table_name and t1.Column_Name=t2.Column_Name left join user_tab_comments t3 on t1.Table_name=t3.Table_name WHERE NOT EXISTS ( SELECT t4.Object_Name FROM User_objects t4 WHERE t4.Object_Type='TABLE' AND t4.Temporary='Y' AND t4.Object_Name=t1.Table_Name ) AND (t1.Data_Type='CHAR' or t1.Data_Type='VARCHAR2' or t1.Data_Type='VARCHAR') ORDER BY t1.Table_Name, t1.Column_ID; BEGIN FOR i IN cur LOOP v_sql := i.str; -- 获取将要执行的SQL语句; EXECUTE IMMEDIATE v_sql INTO v_tb_COLUMN, v_cnt; IF v_cnt > 0 THEN dbms_output.put_line('表:'||substr(v_tb_column,1,instr(v_tb_column,'.',1,1)-1)||' 列:'||substr(v_tb_column,instr(v_tb_column,'.',1,1)+1)|| '有 '||to_char(v_cnt)|| '条记录含有字串"关键字" '); END IF; END LOOP; EXCEPTION WHEN OTHERS THEN BEGIN dbms_output.put_line(v_sql); dbms_output.put_line(v_tb_column); END; end MY_Pro_SearchKeyWord;
84af
相关文章推荐
- Sql server 查询数据库中包含某字段的所有的表
- 删除用户建立的所有数据库表以及查询某个字段存在哪张表中
- 针对不同数据库,获取当前用户所有有权限查看的表,以及表的创建时间、更新时间、注释等信息,表中字段的相关信息(包含分页实现)
- 查找数据库中所有表中的字段包含特定值,之后修改特定值
- oracle 查询表是否包含某一给定字段
- 如何oracle 某一用户授予查询另一个用户某张表的权限,以及更新另一用户表中某些字段
- MS SQL 查询数据库中所有索引以及对应的表字段 SQL Server Profiler性能跟踪
- 查找整个数据库里面包含某一字段的所有表
- sql语句查询Oracle|sql server|access 数据库里的所有表名,字段名
- oracle 中查询一个表的所有字段名以及属性的sql语句应该怎么写?
- 查找 数据库中包含某一字段的所有表的表名的mysql语句
- 系统数据库中查询表的所有字段以及描述(2008,2000区分)以及查询表的外键(总结)
- sql 查询某一字段包含特定字符的数量
- 查询postgresql数据库所有表中的所有字段包含一个字符串
- 查询数据库所有表中包含的字段
- sqlserver查询数据库中包含某个字段的所有表和所有存储过程
- oracle 查询包含某字段的所有表
- oracle 查询当前库中所有表以及某表字段信息
- sql语句查询Oracle|sql server|access 数据库里的所有表名,字段名
- 查找 oracle 数据库中包含某一字段的表名