当前位置: 首页 > 面试题库 >

如何在Oracle中通过SQL获取表注释?

董阳平
2023-03-14
问题内容

我试过了 :

select * from user_tab_comments;

它返回了3列“ TABLE_NAME”,“ TABLE_TYPE”和“ COMMENTS”,但是“ TABLE_NAME”列就像“
encrypted”一样,我需要明确的表名:

TABLE_NAME                      TABLE_TYPE  COMMENTS

BIN$IN1vjtqhTEKcWfn9PshHYg==$0  TABLE       R茅sultat d'int茅gration d'une photo num茅ris茅e
BIN$PUwG3lb3QoazOc4QaC1sjw==$0  TABLE       Motif de fin d'agr茅ment de ma卯tre de stage

我使用select * from user_tables;TABLE_NAME时未“加密”。


问题答案:

由于10g,Oracle在发出DROP
TABLE语句时不会立即删除表。相反,它像这样重命名它们BIN$IN1vjtqhTEKcWfn9PshHYg==$0并将它们放入回收站。这使我们能够恢复原本不想删除的表。
了解更多。

回收站中的表仍然是表,因此它们显示在ALL_TABLES和类似视图中。因此,如果您只想查看仅与活动(未删除)表相关的注释,则需要按表名称进行过滤:

select * from all_tab_comments
where substr(table_name,1,4) != 'BIN$'
/

“我不相信没有标志列,所以可以这样做,并且is_recycled = 0或类似的东西。”

您是对的,这太不可思议了。因此,我检查了文档,结果发现Oracle 10g在USER_ / ALL_ /
DBA_TABLES视图中添加了一个名为DROPPED的列。

select tc.* 
from all_tab_comments tc
     join all_tables t
     on tc.owner = t.owner
     and tc.table_name = t.table_name
where t.dropped = 'NO'
/

查看文档。显然,加入ALL_TABLES视图需要比对名称进行过滤更多的键入操作,因此根据我们的需求,保留原始WHERE子句可能会更容易。



 类似资料:
  • 本文向大家介绍Oracle 获取表注释和列注释,包括了Oracle 获取表注释和列注释的使用技巧和注意事项,需要的朋友参考一下 全部表 表的注释 列的注释 相应的还有dba_col_comments,all_col_comments,这两个比user_col_comments多了ower列 以上所述是小编给大家介绍的Oracle 获取表注释和列注释,希望对大家有所帮助,如果大家有任何疑问请给我留言

  • 问题内容: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 问题答案: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 否。如果要定义表和列注释,最好的选择是在生成的DDL中根据事实进行操作,然后再对数据库执行操作。

  • 问题内容: 我创建了一个简单的注释类: 我在像这样的一些类中使用它: 我知道我可以遍历声明的字段并获得如下注释: 如何在不迭代类的声明字段的情况下直接通过带注释的名称获取字段? 问题答案: 如果需要进行多次访问,则可以预处理注释。

  • 问题内容: 例如,我有2个时间表:T1 和T2 我需要从T1获取最接近T2的时间。这些表之间没有关系。应该是这样的: 但是我不明白。有什么建议? 问题答案: 我相信这是您要查找的查询: 确保时间列具有相同的日期部分,否则t2.time-t1.time部分将无法正常工作。 编辑 :感谢您的接受,但本的下面的答案是更好。它使用Oracle分析功能,性能会更好。

  • 问题内容: 我正在尝试将oracle过程调用的out参数强制转换为对象。它不起作用,因为-就我所知- 我需要定义一个映射,告诉该方法如何投射它。如果地图是空的或未正确填充,则默认为STRUCT类型的Objekt-在我的情况下这是错误的。 我建立了一个示例,该示例应说明该问题: 由于地图错误,我无法使用以下方式: 我应该如何填写地图? 编辑1 oracle数据库中的条目无法更改。我只被允许使用它们。

  • 问题内容: 我使用的是SQL Server2005。我创建了一个大多数时候都可以使用的存储过程,但是我发现了一个实例,它无法满足我的要求。 目前,代码执行的操作是这样的 输出变量在哪里。 因此,我可以得到一个数字,但我真正想要的只是SQL错误。 像 Hey之类的 东西 ,我不能这样做,因为在此列上有fk约束 或其他 约束 。我在msdn http://msdn.microsoft.com/zh-