Tuesday, October 1, 2019

Pl/SQL Script sample to drop PK and recreate new keys

Spool ODS2_DW2_Delta_100119_01.log
select  systimestamp from dual;
  
column db_name format a50
column user_name format a20
column db_host format a50
column user_host format a50
select sys_context ( 'USERENV', 'DB_NAME' ) db_name,
sys_context ( 'USERENV', 'SESSION_USER' ) user_name,
sys_context ( 'USERENV', 'SERVER_HOST' ) db_host,
sys_context ( 'USERENV', 'HOST' ) user_host
from dual;
set echo on
CREATE TABLE  ODS2.REASON_MAST_1001219 AS SELECT * FROM ODS2.REASON_MAST;
CREATE TABLE  DW2.REASON_MAST_1001219 AS SELECT * FROM DW2.REASON_DIM;
ALTER TABLE ODS2.REASON_MAST DROP PRIMARY KEY CASCADE  DROP INDEX;
ALTER TABLE DW2.REASON_DIM DROP PRIMARY KEY CASCADE  DROP INDEX;
TRUNCATE TABLE ODS2.REASON_MAST;
ALTER TABLE ODS2.REASON_MAST
ADD CONSTRAINT PK_REASON PRIMARY KEY (REASON_CODE, TENANT_ID);
TRUNCATE TABLE DW2.REASON_DIM;
ALTER TABLE DW2.REASON_DIM
ADD CONSTRAINT PK_REASON PRIMARY KEY (REASON_CODE, TENANT_ID);

spool off
Set echo off