紺轟緥濡備笅:
1 create or replace procedure search(v_colname in varchar2, v_find in varchar2) as
2 v_sql varchar2(2000);
3 v_result varchar2(1000);
4 v_cursor number;
5 v_stat number;
6 begin
7 dbms_output.put_line('琛ㄥ悕,鍒楀悕,緇撴灉');
8 for a in (select table_name,column_name from user_tab_columns where column_name = v_colname) loop
9 v_cursor := dbms_sql.open_cursor;
10 v_sql := 'select ' || v_colname || ' from ' || a.table_name || ' where ' || v_colname || ' like ''%' || v_find || '%''';
11 dbms_sql.parse(v_cursor,v_sql,dbms_sql.native);
12 dbms_sql.define_column(v_cursor,1,v_result,1000);
13 v_stat := dbms_sql.execute(v_cursor);
14 loop exit when dbms_sql.fetch_rows(v_cursor)<=0;
15 dbms_sql.column_value(v_cursor,1,v_result);
16 dbms_output.put_line(a.table_name||','||a.column_name||','||v_result);
17 end loop;
18 dbms_sql.close_cursor(v_cursor);
19 end loop;
20 end search;
21
鍦╫racle 10g涓嬫祴璇曢氳繃.
浣跨敤鏂規硶:
begin search('...','...'); end;
/
絎竴涓弬鏁版槸鐭ラ亾鐨勫垪鍚?絎簩涓弬鏁版槸闇瑕佹煡鎵劇殑鏁版嵁
涓嬮潰鏄墽琛屾晥鏋?
1 SQL> begin search('絳旀','璇曢瑙勮寖'); end;
2 2 /
3
4 琛ㄥ悕,鍒楀悕,緇撴灉
5 鏁版嵁鍊肩瓟妗堣〃,絳旀,闈㈣瘯璇曢瑙勮寖銆?br> 6 鏁版嵁鍊肩瓟妗堣〃,絳旀,榪涗竴姝ュ畬鍠勯潰璇曡瘯棰樿鑼冦?br> 7 鏁版嵁鍊肩瓟妗堣〃,絳旀,淇敼鑰冩牳璇曢瑙勮寖銆?br> 8 鏁版嵁鍊肩瓟妗堣〃,絳旀,榪涗竴姝ュ畬鍠勮冩牳璇曢瑙勮寖銆?br> 9 鏁版嵁鍊肩瓟妗堣〃,絳旀,鑰冩牳璇曢瑙勮寖鏈夎銆?br>10 鏁版嵁鍊肩瓟妗堣〃,絳旀,淇敼鑰冩牳楂樼駭璇曢瑙勮寖銆?br>11 鏁版嵁鍊肩瓟妗堣〃,絳旀,鑰冩牳楂樼駭璇曢瑙勮寖蹇熷垎欏佃鑼冿紝淇敼閿欒欏甸潰銆?/span>

]]>