若是字段名字是“小明”SQL> select table_name,column_name from dba_tab_columns where column_name=upper('username');TABLE_NAME COLUMN_NAME
------------------------------ ------------------------------
ALL_DB_LINKS USERNAME
ALL_REPGROUP_PRIVILEGES USERNAME
ALL_USERS USERNAME
DBA_AUDIT_EXISTS USERNAME
DBA_AUDIT_OBJECT USERNAME把username改成小明,试试
------------------------------ ------------------------------
ALL_DB_LINKS USERNAME
ALL_REPGROUP_PRIVILEGES USERNAME
ALL_USERS USERNAME
DBA_AUDIT_EXISTS USERNAME
DBA_AUDIT_OBJECT USERNAME把username改成小明,试试
表a:
column1 column2 column3
a1 b1 c1
a2 b2 c2
a3 小明 c3
a4 b4 c4
a5 b5 c5是否能够在不知道表名“a”的情况下,全库搜索出含“小明”的表“a”呢?
首先你先做个function
fonction里边定义一cursor
select * from cols where data_type = 'VARCHAR2'//你可以加上NVARCHAR2啥的随便
然后你就知道数据库的所有表,以及所有裂了
对于每个标的每个列,用动态sql执行
select count(1) from xxxx where xxx like xxxval
其中xxxval = '%'||参数||'%'
你想象效率把
非常感谢AFIC的思路
问题是,如果可以实现,有没有更优越的算法来完成这个思路呢?
用cursor一系一条地来取,那无异于我一个表一个表地“手工”查看
问题是利用oracle实现太麻烦了.
你能否考虑用pb的动态生成数据窗口功能实现呢?