关于oracle数据表的注释,请教专家一个比较偏门的问题

itspider 2011-02-23 03:31:22
1、表字段的注释,到底是保存在哪里的?
USER_COL_COMMENTS,是个系统视图,可真实数据是保存在哪儿的?不会是跟着具体的表结构走的吧?

2、最关心的问题,comment on命令修改注释时,会不会引发锁表、或者重建表结构等等的操作?
需要批量修改表注释和字段注释,而数据库又比较忙,担心影响到业务。

没找到相关的文档说明,不敢轻易动手,请专家指导!

谢谢!
...全文
344 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
itspider 2011-05-21
  • 打赏
  • 举报
回复
多谢多谢。这下全明白了。

结贴晚了点,抱歉
hyee 2011-02-23
  • 打赏
  • 举报
回复
你看user_col_comments是怎么定义就知道了:
create or replace view sys.user_col_comments
(table_name, column_name, comments)
as
select o.name, c.name, co.comment$
from sys.obj$ o, sys.col$ c, sys.com$ co
where o.owner# = userenv('SCHEMAID')
and o.type# in (2, 4)
and o.obj# = c.obj#
and c.obj# = co.obj#(+)
and c.intcol# = co.col#(+)
and bitand(c.property, 32) = 0

说白了注释是储存在sys.com$表中。
给表加comment不会锁表,你可以这么测试:
session 1: lock table t in exclusive mode
session 2: comment on column t.x is 'xxxx';
itspider 2011-02-23
  • 打赏
  • 举报
回复
呵呵,楼上兄弟真热情。谢谢啊~

可能是我没说清楚

我不是问怎么从USER_COL_COMMENTS中查到注释,而是关心USER_COL_COMMENTS中看到的数据到底怎么保存的?

USER_COL_COMMENTS 是 view,而不是table。

我也觉得改字段注释不应该影响业务,但需要文档佐证。

luoyoumou 2011-02-23
  • 打赏
  • 举报
回复
-- user_ 是用户级视图,对应有 dba_ 是系统级视图
itspider 2011-02-23
  • 打赏
  • 举报
回复
最好能给个权威文档的URL

怕出问题,怕习惯了,hoho
itspider 2011-02-23
  • 打赏
  • 举报
回复
谢谢楼上关注,

请注意我的第1个问题,“USER_COL_COMMENTS,是个系统视图”
luoyoumou 2011-02-23
  • 打赏
  • 举报
回复
-- 只是修改数据字典信息,不会影响你的业务!
luoyoumou 2011-02-23
  • 打赏
  • 举报
回复
------------ 查看各表结构,排除临时表 ----------------------------------------------------
SELECT t1.Table_Name AS "表名称",
t3.comments AS "表说明",
t1.Column_Name AS "字段名称",
t2.Comments AS "字段说明",
t1.Data_Type AS "数据类型",
t1.Data_Length AS "长度",
t1.NullAble AS "是否为空",
t1.Data_Default "默认值"
FROM cols t1 left join user_col_comments t2
on t1.Table_name=t2.Table_name and t1.Column_Name=t2.Column_Name
left join user_tab_comments t3
on t1.Table_name=t3.Table_name
WHERE NOT EXISTS ( SELECT t4.Object_Name FROM User_objects t4
WHERE t4.Object_Type='TABLE'
AND t4.Temporary='Y'
AND t4.Object_Name=t1.Table_Name )
ORDER BY t1.Table_Name, t1.Column_ID;
luoyoumou 2011-02-23
  • 打赏
  • 举报
回复
存储在user_col_comments 数据字典里!

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧