进场会遇到需要对表、字段进行备注的情况,并且常常带了指定表空间和索引空间,如果把它们都写在一起,就会显得过分臃肿,这个时候可以像下面这样写
1、创建表、注释表、注释字段:
/*==============================================================*/ /* Table: ACCT_ACCOUNTING_ITEM */ /*==============================================================*/ CREATE TABLE ACCT_ACCOUNTING_ITEM ( --创建表 SK_ACCOUNTING_ITEM NUMBER(12) NOT NULL, BK_ACCOUNTING_ITEM VARCHAR2(20), ACCOUNTING_ITEM_NAME VARCHAR2(60), ACCOUNTING_ITEM_DESC VARCHAR2(60), DK_ACCOUNTING_ITEM_CLASS VARCHAR2(10), SQL_STMT VARCHAR2(4000), DAC NUMBER(30), DDVC VARCHAR2(32), DK_SYSTEM_OF_UPD VARCHAR2(10) NOT NULL, BATCHNO NUMBER(16) NOT NULL, INSERTTIME DATE NOT NULL, UPDATETIME DATE NOT NULL ) TABLESPACE TBS_D_ODS --指定表共建 NOLOGGING; --操作不写日志 COMMENT ON TABLE ACCT_ACCOUNTING_ITEM IS --对表进行注释 '基金会计核算指标'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.SK_ACCOUNTING_ITEM IS--对字段进行注释 '会计核算指标'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.BK_ACCOUNTING_ITEM IS '会计核算指标代码'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.ACCOUNTING_ITEM_NAME IS '会计核算指标名称'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.ACCOUNTING_ITEM_DESC IS '会计核算指标描述'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.DK_ACCOUNTING_ITEM_CLASS IS '会计核算指标分类'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.SQL_STMT IS '指标计算规则'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.DAC IS '审计码'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.DDVC IS '数据校验码'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.DK_SYSTEM_OF_UPD IS '记录更新系统'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.BATCHNO IS '批次号'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.INSERTTIME IS '插入时间戳'; COMMENT ON COLUMN ACCT_ACCOUNTING_ITEM.UPDATETIME IS '更新时间戳';
2、声明主键并指定表空间:
/*==============================================================*/ /* Index Local: PK_ACCT_ACCOUNTING_ITEM */ /*==============================================================*/ ALTER TABLE ACCT_ACCOUNTING_ITEM ADD CONSTRAINT PK_ACCT_ACCOUNTING_ITEM PRIMARY KEY (SK_ACCOUNTING_ITEM) USING INDEX TABLESPACE TBS_I_ODS --指定索引的表空间 NOLOGGING; --对操作不写日志
将上面的建表和声明主键语句结合起来,就可以较为优雅的完成工作,并且这样的语法有利于后期的维护。建表和索引没有在一起,可以使得sql没有这么冗长,方便找错和修改