--------------------------------------------------------------------------------
根据需求创建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; --------------------------------------------------------------------------------
执行
-------------------------------------------------------------------------------- |