This is my table, you are right, it may be relevant to use the original one:
ALTER TABLE RBS_USER.CUSTOMERS
DROP PRIMARY KEY CASCADE;
DROP TABLE RBS_USER.CUSTOMERS CASCADE CONSTRAINTS;
CREATE TABLE RBS_USER.CUSTOMERS
(
SIGNING_ACCOUNT VARCHAR2(30 CHAR) DEFAULT ‘N/A’,
SUB_ACCOUNT VARCHAR2(30 CHAR) DEFAULT ‘N/A’ NOT NULL,
SOURCE_ID INTEGER DEFAULT 1,
COMPANY_NAME VARCHAR2(255 CHAR) DEFAULT ‘N/A’,
STATUS VARCHAR2(3 CHAR) DEFAULT ‘N/A’,
TYPE_CODE VARCHAR2(20 CHAR) DEFAULT ‘N/A’,
PRODUCT VARCHAR2(5 CHAR) DEFAULT ‘N/A’,
ACCESS_CODE VARCHAR2(5 CHAR) DEFAULT ‘N/A’,
CANCEL_CODE VARCHAR2(3 CHAR) DEFAULT ‘N/A’,
BILLING_POOL_ID VARCHAR2(3 CHAR) DEFAULT ‘N/A’,
AM_ID VARCHAR2(6 CHAR) DEFAULT ‘N/A’,
AC_ID VARCHAR2(6 CHAR) DEFAULT ‘N/A’,
INSTALL_DATE DATE,
CANCEL_DATE DATE,
STATUS_DATE DATE,
LANGUAGE_CODE VARCHAR2(3 CHAR) DEFAULT ‘N/A’,
CONTACT_NAME VARCHAR2(120 BYTE) DEFAULT ‘N/A’,
ADDRESS1 VARCHAR2(150 CHAR) DEFAULT ‘N/A’,
ADDRESS2 VARCHAR2(150 CHAR) DEFAULT ‘N/A’,
CITY VARCHAR2(100 CHAR) DEFAULT ‘N/A’,
PROVINCE VARCHAR2(3 CHAR) DEFAULT ‘N/A’,
POSTAL_CODE VARCHAR2(20 CHAR) DEFAULT ‘N/A’,
COUNTRY VARCHAR2(3 CHAR) DEFAULT ‘N/A’,
TELEPHONE_NO VARCHAR2(20 CHAR) DEFAULT ‘N/A’,
TELEPHONE_EXT VARCHAR2(20 CHAR) DEFAULT ‘N/A’,
FAX_NO VARCHAR2(15 CHAR) DEFAULT ‘N/A’,
FAX_EXT VARCHAR2(15 CHAR) DEFAULT ‘N/A’,
SIGNED_DATE DATE,
FLAG_SHELL_ACCOUNT VARCHAR2(3 CHAR) DEFAULT ‘N/A’,
HOUSE_ACCOUNT_FLAG VARCHAR2(3 CHAR) DEFAULT ‘N/A’,
COMPANY_CODE VARCHAR2(3 CHAR) DEFAULT ‘N/A’,
SERVICE_LEVEL_CODE VARCHAR2(3 CHAR) DEFAULT ‘N/A’,
CUSTOMER_GROUP VARCHAR2(8 CHAR) DEFAULT ‘N/A’,
CURRENCY_ID VARCHAR2(3 CHAR) DEFAULT ‘N/A’,
SIC_CODE VARCHAR2(5 CHAR) DEFAULT ‘N/A’,
REPORT_MM DATE,
REPORT_TYPE VARCHAR2(5 CHAR),
ADDRESS_TYPE VARCHAR2(3 CHAR),
NO_OF_EMPLOYEES INTEGER DEFAULT 0,
IMPORT_ID INTEGER DEFAULT -1 NOT NULL,
ID NUMBER(38),
REPORT_CYCLE VARCHAR2(3 CHAR) NOT NULL,
DISTRICT_MAPPING_ID VARCHAR2(8 CHAR) NOT NULL,
UNIQUE_CUSTOMER_MAPPING_ID VARCHAR2(8 CHAR) NOT NULL,
REFERENCE_SUB_ACCOUNT VARCHAR2(30 CHAR) DEFAULT ‘N/A’
)
COMPRESS BASIC
TABLESPACE RBS_DATA1
RESULT_CACHE (MODE DEFAULT)
PCTUSED 0
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
PARTITION BY RANGE (IMPORT_ID)
INTERVAL( 1)
(
PARTITION P_FIRST VALUES LESS THAN (2)
LOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (3)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (4)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (5)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (6)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (7)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (8)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (9)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (10)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (11)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (12)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (13)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
),
PARTITION VALUES LESS THAN (92)
NOLOGGING
COMPRESS BASIC
TABLESPACE RBS_DATA1
PCTFREE 0
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 8M
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
)
NOCACHE
PARALLEL ( DEGREE DEFAULT INSTANCES DEFAULT )
MONITORING
ENABLE ROW MOVEMENT;
CREATE INDEX RBS_USER.CUSTOMERS_IX4 ON RBS_USER.CUSTOMERS
(AM_ID, IMPORT_ID)
NOLOGGING
TABLESPACE RBS_DATA1
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
NOPARALLEL;
CREATE INDEX RBS_USER.CUSTOMERS_IX5 ON RBS_USER.CUSTOMERS
(SOURCE_ID, IMPORT_ID)
NOLOGGING
TABLESPACE RBS_DATA1
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
NOPARALLEL;
CREATE INDEX RBS_USER.CUSTOMERS_IX6 ON RBS_USER.CUSTOMERS
(TYPE_CODE, IMPORT_ID)
NOLOGGING
TABLESPACE RBS_DATA1
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
NOPARALLEL;
CREATE UNIQUE INDEX RBS_USER.CUSTOMERS_PK ON RBS_USER.CUSTOMERS
(ID)
NOLOGGING
TABLESPACE RBS_DATA1
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
NOPARALLEL;
CREATE INDEX RBS_USER.CUSTOMERS_IX2 ON RBS_USER.CUSTOMERS
(STATUS, IMPORT_ID)
NOLOGGING
TABLESPACE RBS_DATA1
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
NOPARALLEL;
CREATE UNIQUE INDEX RBS_USER.CUSTOMERS_IX1 ON RBS_USER.CUSTOMERS
(SUB_ACCOUNT, IMPORT_ID)
NOLOGGING
TABLESPACE RBS_DATA1
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
NOPARALLEL;
CREATE INDEX RBS_USER.CUSTOMERS_IX3 ON RBS_USER.CUSTOMERS
(AC_ID, IMPORT_ID)
NOLOGGING
TABLESPACE RBS_DATA1
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MAXSIZE UNLIMITED
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
NOPARALLEL;
CREATE OR REPLACE TRIGGER RBS_USER.CUSTOMERS_TRG
BEFORE INSERT
ON RBS_USER.CUSTOMERS
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
BEGIN
– For Toad: Highlight column ID
:new.ID := CUSTOMERS_SEQ.nextval;
END CUSTOMERS_TRG;
/
BEGIN
SYS.DBMS_RLS.DROP_POLICY (
object_schema => ‘RBS_USER’
,object_name => ‘CUSTOMERS’
,policy_name => ‘USER_POLICY’);
END;
/
BEGIN
SYS.DBMS_RLS.ADD_POLICY (
object_schema => ‘RBS_USER’
,object_name => ‘CUSTOMERS’
,policy_name => ‘USER_POLICY’
,function_schema => ‘RBS_USER’
,policy_function => ‘RBS_SECURITY.CHECK_DATE’
,statement_types => ‘UPDATE,DELETE’
,policy_type => dbms_rls.dynamic
,long_predicate => FALSE
,update_check => FALSE
,static_policy => FALSE
,enable => TRUE );
END;
/
ALTER TABLE RBS_USER.CUSTOMERS ADD (
CONSTRAINT CUSTOMERS_PK
PRIMARY KEY
(ID)
USING INDEX RBS_USER.CUSTOMERS_PK
ENABLE VALIDATE);