Oracle 建表与插入数据规范案例
– 建表
CREATE TABLE MTG_INTERFACE_BUNDLE(
PKEY NUMBER(10),
BUNDLE_KEY VARCHAR2(100) NOT NULL, -- 国际化Key
BUNDLE_VALUE_US VARCHAR2(4000) NOT NULL, -- 国际化英文值
BUNDLE_VALUE_CN VARCHAR2(4000) NOT NULL, -- 国际化中文值
BUNDLE_VALUE_CN_DESC VARCHAR2(4000), -- 国际化中文值描述
ACTIVE_FLAG VARCHAR2(10) DEFAULT 'Y' NOT NULL, -- 生效标记,Y-有效,N-无效
LAST_UPDATE_BY VARCHAR2(50) NOT NULL, -- 最后更新人
LAST_UPDATE_TIME TIMESTAMP DEFAULT SYSDATE NOT NULL, -- 最后更新时间
-- 定义主键
CONSTRAINT MTG_INTERFACE_BUNDLE_PKEY PRIMARY KEY (PKEY)
);
– 创建PKEY的Sequence,用于Pkey值的自动递增
CREATE SEQUENCE MTG_INTERFACE_BUNDLE_SEQ MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1
START WITH 1 NOORDER NOCYCLE nocache;
– 定义某些列的唯一性(可选)
alter table MTG_INTERFACE_BUNDLE add constraint MTG_INTERFACE_BUNDLE_KEY_UNION unique(BUNDLE_KEY);
–给每一类加上备注
COMMENT ON COLUMN MTG_INTERFACE_BUNDLE.PKEY IS '主键';
COMMENT ON COLUMN MTG_INTERFACE_BUNDLE.BUNDLE_KEY IS '国际化Key';
COMMENT ON COLUMN MTG_INTERFACE_BUNDLE.BUNDLE_VALUE_US IS '国际化英文值';
COMMENT ON COLUMN MTG_INTERFACE_BUNDLE.BUNDLE_VALUE_CN IS '国际化中文值';
COMMENT ON COLUMN MTG_INTERFACE_BUNDLE.BUNDLE_VALUE_CN_DESC IS '国际化中文值描述';
COMMENT ON COLUMN MTG_INTERFACE_BUNDLE.ACTIVE_FLAG IS '生效标记,Y-有效,N-无效';
COMMENT ON COLUMN MTG_INTERFACE_BUNDLE.LAST_UPDATE_BY IS '最后更新人';
COMMENT ON COLUMN MTG_INTERFACE_BUNDLE.LAST_UPDATE_TIME IS '最后更新时间';
– 添加数据的规范(该插入语句与上述建表无关,只做参考)
MERGE INTO MTG_PARA USING (SELECT 'FIRST_SHIP_PRODUCT_MODEL' PARA_CODE FROM DUAL) AA ON (MTG_PARA.PARA_CODE = AA.PARA_CODE AND MTG_PARA.DIV_CODE ='SME')
WHEN NOT MATCHED THEN
INSERT VALUES (MTG_PARA_SEQ.NEXTVAL,'FIRST_SHIP_PRODUCT_MODEL','需要按型号判断首批出货的最终客户代码','',TO_DATE (SYSDATE,'DD-MON-RR'),
0,TO_DATE(SYSDATE,'DD-MON-RR'),'SME');