黑马程序员技术交流社区

标题: oracle根据输入内容查询(模糊查询)所有涉及的表及其字段 [打印本页]

作者: fanxin_meng    时间: 2015-6-18 21:00
标题: oracle根据输入内容查询(模糊查询)所有涉及的表及其字段
--------------------------------------------------------------------------------
根据需求创建Oracle存储过程
--创建带输入参数的存储过程
create or replaceprocedure PROC1(param in VARCHAR2) is
--定义变量
  v_SQL VARCHAR2(200);
  vv VARCHAR2(10);
  v_value VARCHAR2(20);
  -- 创建游标,系统表user_tab_columns
  CURSOR cur_TabInfo IS selectTABLE_NAME,COLUMN_NAME from user_tab_columns;
begin
  --遍历系统表user_tab_columns
   FOR rec1 IN cur_TabInfo LOOP
    --初始化变量
    v_SQL:='';
    vv:=0;
    v_value:=''||param||'';
    --定义v_SQL语句
      v_SQL:='SELECT count(*) FROM'||rec1.table_name||' WHERE '||rec1.column_name||' like '||v_value;
  --执行v_SQL语句
    execute immediate v_SQL into vv;
    --判断-输出符合要求的表和对应字段
    IF vv > 0 Then   
      DBMS_OUTPUT.put_line(rec1.table_name||''||rec1.column_name);
    end if;
  end loop;
end PROC1;
--------------------------------------------------------------------------------
执行

--------------------------------------------------------------------------------

1.png (14.67 KB, 下载次数: 16)

输入

输入

2.png (14.31 KB, 下载次数: 12)

输出

输出

作者: a1224577182    时间: 2015-6-18 21:10
看一下,感谢分享!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2