[ORACLE] Table 생성 및 Synonym
-- 계정 : TEST_ACT, TEST_ACT2, TEST_ACT3, TEST_ACT4, TEST_ACT5
DROP TABLE TEST_ACT.TEST_TABLE;
CREATE TABLE TEST_ACT.TEST_TABLE
(
COLUMN1 VARCHAR2(20) NOT NULL,
COLUMN2 VARCHAR2(20) NOT NULL,
COLUMN3 VARCHAR2(40) NOT NULL,
CREATE_DATE DATE DEFAULT SYSDATE NOT NULL,
CREATE_USER_ID VARCHAR2(40) DEFAULT 'woojja' NOT NULL,
UPDATE_DATE DATE DEFAULT SYSDATE NOT NULL,
UPDATE_USER_ID VARCHAR2(40) DEFAULT 'woojja' NOT NULL
)
TABLESPACE TBL_SPC
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE
(
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
);
COMMENT ON TABLE TEST_ACT.TEST_TABLE
IS 'Test Table';
COMMENT ON COLUMN TEST_ACT.TEST_TABLE.COLUMN1
IS 'COLUMN1';
COMMENT ON COLUMN TEST_ACT.TEST_TABLE.COLUMN2
IS 'COLUMN2';
COMMENT ON COLUMN TEST_ACT.TEST_TABLE.COLUMN3
IS 'COLUMN3';
COMMENT ON COLUMN TEST_ACT.TEST_TABLE.CREATE_DATE
IS '생성일자';
COMMENT ON COLUMN TEST_ACT.TEST_TABLE.CREATE_USER_ID
IS '생성자아이디';
COMMENT ON COLUMN TEST_ACT.TEST_TABLE.UPDATE_DATE
IS '수정일자';
COMMENT ON COLUMN TEST_ACT.TEST_TABLE.UPDATE_USER_ID
IS '수정자아이디';
ALTER TABLE TEST_ACT.TEST_TABLE
ADD CONSTRAINT TEST_TABLE_PK PRIMARY KEY (DIVISION_CODE, PRODUCT_FAMILY_CODE, PROJECT_CODE, NPI, PRODUCTION_SITE_CODE, COMPONENT_CODE)
USING INDEX
TABLESPACE TEST_SPACE
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE
(
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
);
GRANT SELECT ON TEST_ACT.TEST_TABLE TO TEST_ACT2;
=>
GRANT SELECT, INSERT, UPDATE, DELETE ON TEST_ACT.TEST_TABLE TO TEST_ACT2 WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON TEST_ACT.TEST_TABLE TO TEST_ACT3;
GRANT SELECT, INSERT, UPDATE, DELETE ON TEST_ACT.TEST_TABLE TO TEST_ACT4;
GRANT SELECT ON TEST_ACT.TEST_TABLE TO TEST_ACT5;
-- TEST_ACT2 에서 실행
DROP SYNONYM TEST_TABLE;
CREATE SYNONYM TEST_TABLE FOR TEST_ACT.TEST_TABLE;