请问如何查询一个oracle数据库中,是否有某个表的某一列包含某个值
比如,有一个数据库,有table1,table2,table3................等很多表,我要查哪个表有一个字段包含着“aaaaabbbbcccc”?怎么办...
比如,有一个数据库,有table1,table2,table3................等很多表,我要查哪个表有一个字段包含着“aaaaabbbbcccc”?怎么办
展开
4个回答
展开全部
select TABLE_NAME from dba_tab_columns where s.column_name='AAAAABBBBCCCC';
如果上面语句执行没有结果或者失败。则执行
select TABLE_NAME from user_tab_columns where s.column_name='AAAAABBBBCCCC';
另外注意AAAAABBBBCCCC这里一定要大写。
如果上面语句执行没有结果或者失败。则执行
select TABLE_NAME from user_tab_columns where s.column_name='AAAAABBBBCCCC';
另外注意AAAAABBBBCCCC这里一定要大写。
更多追问追答
追问
第二个成功了,但是我需要的不是某个表的列名是AAAAABBBBCCCC
而是要某个字段的具体值是AAAAABBBBCCCC
很接近了,再麻烦你以下,谢谢
追答
这样啊,那我告诉你,这个你真查不了,因为某个字段含有的内容,不会存放在数据字典中的。
像你这个问题只能先生成一个脚本,去批量查询了。因为你都不知道是哪个表,哪个字段。只能批量查询来过滤。过滤的时候可以根据你要查询的值是字符类型还是数字类型来过滤掉某些字段。当然如果你能肯定有AAAAABBBBCCCC这个值,那么你还能把字段长度小于它的字段过滤掉。
oracle中没有现成的东西供你这种查询的。
展开全部
1、看用户的表的信息如同marliuang所说,不再赘述。当然了你用a登录后也可以用命令(selecttnamefromtab;)查看。2、显示乱码是因为oracle中的回收站(recyclebin)的缘故,为了防止用户误删除,oracle引入了回收站这一概念,你可以使用命令:purgerecyclebin;(用户a登录)或者purgedbarecyclebin;(dba用户登录)这样就看不到这个表了。当然了你在删除表的时候直接写“droptabletablenamepurge;”也是一样的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询