A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

--------------------------------------------------------------------------------
根据需求创建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, 下载次数: 8)

输入

输入

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

输出

输出

1 个回复

倒序浏览
看一下,感谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马