comment on table and column

本文介绍如何使用 Oracle SQL 的 COMMENT ON 语句为表、视图及其列添加注释,并提供了检索这些注释的方法。
comment [Oracle SQL]
       

comment on table  some_table       is 'some hopefully meaningful comment for some_table';
comment on table  some_view        is 'Views can also be commented, yet the statement is still: comment on table';
comment on column some_table.col_1 is 'Be sure to really give some meaningful comment';
comment on column some_view.col_1  is 'Useless, or wrong comments, are worse than no comment at all';

The comment statement allows to store some comments about tables, views or columns in the data dictionary.
Even when views are commented, the syntax is comment on table.
The comments for tables and views can be retrieved with something like

column comments format a50
select table_name, comments from user_tab_comments where table_name like 'SOME%';

TABLE_NAME                     COMMENTS
------------------------------ --------------------------------------------------
SOME_TABLE                     some hopefully meaningful comment for some_table
SOME_VIEW                      Views can also be commented, yet the statement is
                               still: comment on table

Similarly, the comments for columns can be found with something like

column comments format a50
select table_name, column_name, comments from user_col_comments where table_name like 'SOME%';

TABLE_NAME                     COLUMN_NAME                    COMMENTS
------------------------------ ------------------------------ --------------------------------------------------
SOME_TABLE                     COL_1                          Be sure to really give some meaningful comment
SOME_TABLE                     COL_2
SOME_TABLE                     COL_3
SOME_VIEW                      COL_1                          Useless, or wrong comments, are worse than no comm
                                                              ent at all

SOME_VIEW                      COL_2
SOME_VIEW                      COL_3

See also comments (PL/SQL).
# 帆软报表主明细页设计 # 目标:在帆软报表中开发主详细页查询页面,主详细页展示序号、数据表名称、数据表代码,详细页展示某一张数据表的具体数据 # 操作: 1、在主页面中点击数据表名称或数据表代码,传递数据表代码参数到详细页,传递参数tableCode 2、在详细页接收数据表代码参数tableCode,查询数据表DB_TABLE_COLUMNS,查询条件IS_SHO='Y' order by COLUMN_ORDER,返回COLUMN_NAME, 3、数据表结构见 元数据管理建表语句.sql 4、按照返回的 COLUMN_CODE 数据作为列名进行该表的数据查询,返回的表格的标题 是 COLUMN_NAME,并在前面增加序号,举例说明: 主页面查询 井投资信息,传递 CD_WELL_INVESTMENT到 子页面 子页面查询 select dt.table_name,dtc.column_name,dtc.column_code from db_tables dt join db_table_columns dtc on dt.table_id = dtc.table_id and is_show = 'Y' and dt.table_code='CD_WELL_INVESTMENT' order by dtc.column_order 子页面展示表格:(包括数据) 序号 投资编号、井ID、井名、钻井投资、压裂投资、单井综合投资、备注 ## 元数据管理建表语句 --数据表 CREATE TABLE DB_TABLES ( TABLE_ID VARCHAR2(32) PRIMARY KEY, TABLE_NAME VARCHAR2(64) NOT NULL, TABLE_CODE VARCHAR2(64) NOT NULL, TABLE_SCHEMA VARCHAR2(30) NOT NULL, TABLE_TYPE VARCHAR2(10) NOT NULL, SPECIALTY_NAME VARCHAR2(64) NOT NULL, TABLE_ORDER NUMBER(10) NOT NULL, CREATED_DATE DATE NOT NULL, UPDATE_DATE DATE NOT NULL, REMARKS VARCHAR2(200) ); -- 为表添加注释 COMMENT ON TABLE DB_TABLES IS '用于存储数据库中表的元数据信息'; -- 为表的每个字段添加注释 COMMENT ON COLUMN DB_TABLES.TABLE_ID IS '表的唯一标识'; COMMENT ON COLUMN DB_TABLES.TABLE_NAME IS '名称'; COMMENT ON COLUMN DB_TABLES.TABLE_CODE IS '代码'; COMMENT ON COLUMN DB_TABLES.TABLE_SCHEMA IS '表所属的模式(用户)'; COMMENT ON COLUMN DB_TABLES.TABLE_TYPE IS '表类型(如 TABLE, VIEW 等)'; COMMENT ON COLUMN DB_TABLES.SPECIALTY_NAME IS '表的专业类型(如钻井、录井等)'; COMMENT ON COLUMN DB_TABLES.TABLE_ORDER IS '数据表显示顺序'; COMMENT ON COLUMN DB_TABLES.CREATED_DATE IS '表创建时间'; COMMENT ON COLUMN DB_TABLES.UPDATE_DATE IS '表最后一次更新时间'; COMMENT ON COLUMN DB_TABLES.REMARKS IS '表的备注或描述'; -- 创建数据表结构表 CREATE TABLE DB_TABLE_COLUMNS ( COLUMN_ID VARCHAR2(32) PRIMARY KEY, TABLE_ID VARCHAR2(32) NOT NULL, COLUMN_NAME VARCHAR2(64) NOT NULL, COLUMN_CODE VARCHAR2(64) NOT NULL, DATA_TYPE VARCHAR2(30) NOT NULL, DATA_LENGTH NUMBER(10), DATA_PRECISION NUMBER(10), DATA_SCALE NUMBER(10), IT_NULLABLE CHAR(1) NOT NULL, IS_REQUIRED CHAR(1) DEFAULT 'N' NOT NULL, COLUMN_ORDER NUMBER(10) NOT NULL, IS_SHOW CHAR(1) NOT NULL, CREATED_DATE DATE NOT NULL, UPDATE_DATE DATE NOT NULL, REMARKS VARCHAR2(200), CONSTRAINT FK_TABLE_ID FOREIGN KEY (TABLE_ID) REFERENCES DB_TABLES(TABLE_ID) ); -- 为表添加注释 COMMENT ON TABLE DB_TABLE_COLUMNS IS '用于存储数据库中表的字段信息'; -- 为表的每个字段添加注释 COMMENT ON COLUMN DB_TABLE_COLUMNS.COLUMN_ID IS '字段的唯一标识'; COMMENT ON COLUMN DB_TABLE_COLUMNS.TABLE_ID IS '所属表的ID'; COMMENT ON COLUMN DB_TABLE_COLUMNS.COLUMN_NAME IS '字段名称'; COMMENT ON COLUMN DB_TABLE_COLUMNS.COLUMN_CODE IS '字段代码'; COMMENT ON COLUMN DB_TABLE_COLUMNS.DATA_TYPE IS '字段数据类型'; COMMENT ON COLUMN DB_TABLE_COLUMNS.DATA_LENGTH IS '字段长度(对于字符类型字段)'; COMMENT ON COLUMN DB_TABLE_COLUMNS.DATA_PRECISION IS '字段精度(对于数值类型字段)'; COMMENT ON COLUMN DB_TABLE_COLUMNS.DATA_SCALE IS '字段小数位数(对于数值类型字段)'; COMMENT ON COLUMN DB_TABLE_COLUMNS.IT_NULLABLE IS '数据库是否允许该字段为空(Y/N)'; COMMENT ON COLUMN DB_TABLE_COLUMNS.IS_REQUIRED IS '实际数据是否不能为空(Y/N),用于后期质控'; COMMENT ON COLUMN DB_TABLE_COLUMNS.COLUMN_ORDER IS '字段在表中的顺序'; COMMENT ON COLUMN DB_TABLE_COLUMNS.IS_SHOW IS '是否显示(Y/N)'; COMMENT ON COLUMN DB_TABLE_COLUMNS.CREATED_DATE IS '创建时间'; COMMENT ON COLUMN DB_TABLE_COLUMNS.UPDATE_DATE IS '更新时间'; COMMENT ON COLUMN DB_TABLE_COLUMNS.REMARKS IS '字段的备注或描述';
09-14
以下sql报错invalid table name原因 -- chengjd56665 H01报表 begin DECLARE table_count NUMBER; BEGIN SELECT COUNT(*) INTO table_count FROM user_tables WHERE LOWER(table_name) = 'ts_foreigncustomer_share'; if table_count = 0 then EXECUTE IMMEDIATE 'CREATE TABLE TS_FOREIGNCUSTOMER_SHARE ( SERIAL_NO VARCHAR2(64) NOT NULL, BUSINESS_DATE NUMBER, BANK_NO VARCHAR2(9), PRD_CODE VARCHAR2(20), INTER_PRD_CODE VARCHAR2(32), PRINCIPAL_NAME VARCHAR2(255), PRINCIPAL_REGION VARCHAR2(3), ORIGINAL_TERM VARCHAR2(1), CURR_TYPE VARCHAR2(3), LAST_MONTH_POSITION_SHARE NUMBER(17,4), SUB_SHARE NUMBER(17,4), SUB_AMT NUMBER(17,2), CASH_SHARE NUMBER(17,4), CASH_AMT NUMBER(17,2), END_SHARE NUMBER(17,4), END_AMT NUMBER(17,2), BONUS_TO_SHARE NUMBER(17,4), CASH_BONUS_AMT NUMBER(17,2), ADD_SHARE NUMBER(17,4), ADD_AMT NUMBER(17,2), DEL_SHARE NUMBER(17,4), DEL_AMT NUMBER(17,2), OTHER_SHARE NUMBER(17,4), POSITION_SHARE NUMBER(17,4), REMAINING_PERIOD_FLAG VARCHAR2(2), REMAIN_PRINCIPAL NUMBER(17,2), DATA_SOURCE VARCHAR2(2), INPUT_OPERATOR VARCHAR2(32 BYTE) DEFAULT '''' NOT NULL, LAST_DATE NUMBER DEFAULT 0 NOT NULL, LAST_TIME NUMBER DEFAULT 0 NOT NULL, REMARK VARCHAR2(255), CONSTRAINT PK_FOREIGNCUSTOMER_SHARE PRIMARY KEY (SERIAL_NO) )'; EXECUTE IMMEDIATE 'COMMENT ON TABLE TS_FOREIGNCUSTOMER_SHARE IS ''H01为非居民托管业务统计业务表'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN SERIAL_NO IS ''流水号 雪花算法生成'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN BUSINESS_DATE IS ''业务日期'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN BANK_NO IS ''法人编号'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN PRD_CODE IS ''产品编号'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN INTER_PRD_CODE IS ''产品内码'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN PRINCIPAL_NAME IS ''非居民委托人名称'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN PRINCIPAL_REGION IS ''非居民委托人所属国家/地区'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ORIGINAL_TERM IS ''投资工具的原始期限 1:一年及以下 2:一年以上'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN CURR_TYPE IS ''币种代码'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN LAST_MONTH_POSITION_SHARE IS ''上月末持仓份额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN SUB_SHARE IS ''本月认申购份额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN SUB_AMT IS ''本月认申购金额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN CASH_SHARE IS ''本月赎回份额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN CASH_AMT IS ''本月赎回金额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN END_SHARE IS ''本月到期赎回份额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN END_AMT IS ''本月到期赎回金额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN BONUS_TO_SHARE IS ''本月红利再投份额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN CASH_BONUS_AMT IS ''本月现金分红金额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ADD_SHARE IS ''本月强增份额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN ADD_AMT IS ''本月强增金额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN DEL_SHARE IS ''本月强减份额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN DEL_AMT IS ''本月强减金额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN OTHER_SHARE IS ''本月非交易变动-注销、调整或重新分类至其他项目统计的份额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN POSITION_SHARE IS ''本月末持仓份额'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN REMAINING_PERIOD_FLAG IS ''剩余期限是否在一年及以下 01是 02否'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN REMAIN_PRINCIPAL IS ''本月末未到期/未偿付债券面值(剩余本金)'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN DATA_SOURCE IS ''数据来源 1 手工补录 2 系统生成 3 接口导入'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN INPUT_OPERATOR IS ''录入人'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN LAST_DATE IS ''最后更新日期'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN LAST_TIME IS ''最后更新时间'''; EXECUTE IMMEDIATE 'COMMENT ON COLUMN REMARK IS ''备注'''; end if; end; / -- chengjd56665 H01报表 end commit;
最新发布
10-26
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值