前提条件是在oralce数据库中;创建一个存储过程,根据一个传入参数,得到这个值所在的表名及列名

前提条件必须在oralce数据库中,sqlserver不考虑;
传入的参数是数据库中任意一张表的任意一个字段中的值,得到的是该值所在的表名和列名
非常着急,不胜感激!

这个功能要求主要是对系统表操作,查询SQL如下:
SELECT * FROM FROM sys.dba_tab_columns where table_name = ??? order by column_id;
创建一个有返回参数的过程,用上面的SQL就能实现你要的功能。追问

呵呵 我就是需要这个存储过程啊 !

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-14
这基本不太可能。如果数据库表和列少还好,多的话这个查询和匹配无异于大海捞针。
所以,最起码该值具有某些特殊性,以便对表和列进行第一次筛选,然后再匹配查询。追问

不好意思,是我没有表述清楚,这个值在数据库中,对于某一张表而言,是唯一的,类似于id,但是可能存在于多个表中

追答

一般而言,对于单张表来说,ID是唯一的。但是不知道对于多个表而言,该ID是否还是唯一的?
如果能将所有表用到该ID的列找出来,再利用 sys.dba_tab_columns表拼接动态SQL语句,
再查找是否可行?