《Oracle comment on註釋資訊方法論》

leonarding發表於2013-12-11

《Oracle comment on註釋資訊方法論》


引言:在DBA日常工作中寫註釋資訊可能會經常有,但用Oracle命令來寫和使用我想應該不是很多,其實Oracle給我們提供了非常豐富的語言表述語法,而我們日常使用的語法命令佔30%~45%。其中Oracle Comment on註釋語法就是不常用的。下面來給大家揭祕一下Oracle Comment on註釋使用場景和使用方法。


 使用場景

答:一提到使用場景,我又想起一個常常提到的詞“運維標準化”。運維標準化的內容這裡不必多說,Oracle Comment on註釋就是標準化指令碼中的一項,大家平時經常編寫資料庫指令碼,但常常只編寫管理、業務、效能等方面的指令碼,而資料庫結構註釋指令碼卻不常寫。註釋作用就是使其編寫的指令碼更具有可讀性、可維護性、可管理性。在我們的資料中心凡是需要上線的系統其指令碼中必須要帶有註釋資訊,這樣移交給運維部門之後,運維部門的人員可瞭解其資料庫物件結構資訊,這樣在資料維護、結構更新、系統升級時非常方便的瞭解我們系統哪些內容需要變更,變更之後對業務會產生哪些影響,註釋資訊也便於備查,在系統移交過程中便於雙方順利交接。


二 使用方法

官方文件:SQL Language Reference->13 SQL Statements: ALTERTRIGGER to COMMIT->搜尋“COMMENT

語法:

從語法上看Oracle中可以對錶、列、操作、索引型別、物化檢視、挖掘模型進行註釋

下面我們以表和列為樣本進行演示

1. Oracle Commentontable進行註釋說明

表名:彙總報文生成配置表 generate_config

表註釋:comment on table generate_config is '彙總報文生成配置表';

2. Oracle Commentoncolumn進行註釋說明

  

欄位中文名

  

欄位英文名



主鍵ID



iid



報文名稱



name



報文型別



type



報文生成方式



generatetype



狀態



state



列註釋

comment on column table.column_name is 'comments_on_col_information';

comment on column generate_config.iid is '主鍵ID';

comment on column generate_config.name is '報文名稱';

comment on column generate_config.type is '報文型別';

comment on column generate_config.generatetype is '報文生成方式';

comment on column generate_config.state is '狀態';

3. 檢視錶的註釋

查詢指定的表

select * from user_tab_comments where TABLE_NAME='GENERATE_CONFIG';

select * from dba_tab_comments where TABLE_NAME='GENERATE_CONFIG';

select * from all_tab_comments where TABLE_NAME='GENERATE_CONFIG';

查詢註釋非空的表

select * from user_tab_comments where comments is not null;

4. 檢視列的註釋

查詢指定的列

select * from user_col_comments where TABLE_NAME='GENERATE_CONFIG';

select * from dba_col_comments where TABLE_NAME='GENERATE_CONFIG';

select * from all_col_comments where TABLE_NAME='GENERATE_CONFIG';

查詢註釋非空的列

select * from user_col_comments where comments is not null;

5.刪除註釋資訊(直接置空即可)

表置空

comment on table generate_config is '';

列置空

comment on column generate_config.iid is '';

comment on column generate_config.name is '';

comment on column generate_config.type is '';

comment on column generate_config.generatetype is '';

comment on column generate_config.state is '';


三 批量生成表及其欄位的註釋資訊的建立語句

場景:當構建新系統的表指令碼時可以使用這個方法快速生成註釋建立指令碼,還當遷移到新資料庫後註釋資訊發生亂碼時可以使用這個方法快速重建。

1.構建表級註釋資訊指令碼語句

select 'COMMENT ONTABLE '||table_name||' IS '''||comments||''';' from user_tab_comments;

'COMMENTONTABLE'||TABLE_NAME||

--------------------------------------------------------------------------------

COMMENT ON TABLEEB_ASSUREEXTEND_CON IS '保理合同資訊';


2.構建列級註釋資訊指令碼語句

select 'COMMENT ONCOLUMN '||table_name||'.'||COLUMN_NAME||' IS '''||COMMENTS||''';' from user_col_comments;

'COMMENTONCOLUMN'||TABLE_NAME|

--------------------------------------------------------------------------------

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.IID IS '主鍵ID';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.COPERATIONID IS '保理業務ID';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.FINANCECODE IS '金融機構編碼';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.ASSUREAGREEMENTCODE IS '保理協議編號';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.OPROCCURDATE IS '業務發生日期';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.ORGANID IS '組織機構程式碼';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.REGISTRATIONTYPECODE IS '登記註冊號型別';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.REGISTRATIONNO IS '登記註冊號碼';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.CONTRACTINUREDATE IS '合同生效日期';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.CONTRACTPAUSEDATE IS '合同終止日期';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.ASSUREPRODUCTCODE IS '保理產品型別';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.CONTRACTVALIDSTATE IS '合同有效狀態';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.RECORDOPRTYPEOFINFO IS '資訊記錄操作型別';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.VALIDITYFLAG IS '資料有效狀態標誌';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.VALIDITYVARYDATE IS '資料有效狀態變更時間';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.DGETDATE IS '獲取時間';

COMMENT ON COLUMN EB_ASSUREEXTEND_CON.IREPORTSTATE IS '上報狀態';

小結:我們可以使用構建出來的生成語句批量進行建立註釋資訊


 Oracle comment on註釋資訊方法論.pdf            請點選下載


comment  註釋 oracle  leonarding  on


Leonarding

2013.12.11

北京&winter

分享技術~成就夢想

Blogwww.leonarding.com





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26686207/viewspace-1063024/,如需轉載,請註明出處,否則將追究法律責任。

相關文章