仅提供思路,希望能帮助你! 1先创建表 create table aaa as select a.table_name,b.columns from all_tables a,all_tab_columns b 2、定义游标获得表名和列名 cursor vv_sql1 = select table_name from aaa; cursor vv_sql2 = select colum_name from aaa; vv_sql3 rowtype%aaa; 3、 通过遍历游标vv_sql1获得表中的数据 for vv_sql3.table_name in vv_sql1 4、嵌套遍历vv_sql2,看是否有数据等于‘东风乘用车‘ for vv_sql3.column in vv_sql2 5、存在则返回 vv_sql1、vv_sql2
可以的,使用如下一条语句即可.SQL> select sql_text from v$sqlarea where sql_text like '%东风乘用车%';SQL_TEXT -------------------------------------------------------------------------------- insert into test values(1,'东风乘用车') select sql_text from v$sqlarea where sql_text like '%东风乘用车%'
表少的话 可以穷举试探嘛~
1,从dba_tables里查询出所有表;
2,从DBA_COL_COMMENTS里查询出该表的字段;
3,关联起来循环试探;
1先创建表
create table aaa as select a.table_name,b.columns from all_tables a,all_tab_columns b
2、定义游标获得表名和列名
cursor vv_sql1 = select table_name from aaa;
cursor vv_sql2 = select colum_name from aaa;
vv_sql3 rowtype%aaa;
3、 通过遍历游标vv_sql1获得表中的数据
for vv_sql3.table_name in vv_sql1
4、嵌套遍历vv_sql2,看是否有数据等于‘东风乘用车‘
for vv_sql3.column in vv_sql2
5、存在则返回 vv_sql1、vv_sql2
--------------------------------------------------------------------------------
insert into test values(1,'东风乘用车')
select sql_text from v$sqlarea where sql_text like '%东风乘用车%'