I have a table like this T_STG_DWH_READER_MERO
CREATE TABLE "T_STG_DWH_READER_MERO"
( "MESSAGE_ID" VARCHAR2(20 CHAR),
"TEXT_PHONE_NUMBER" VARCHAR2(20 CHAR),
"TEXT_EMAIL_ADDRESS" VARCHAR2(100 CHAR),
"EXPIRED_DTIME" TIMESTAMP (6),
"MESSAGE_CODE" VARCHAR2(50 CHAR),
"MESSAGE_OWNER" VARCHAR2(20 CHAR),
"MESSAGE_TEMPLATE_TYPE" VARCHAR2(100 CHAR),
"MESSAGE_ATTRIBUTE" VARCHAR2(500 CHAR),
"MESSAGE_FLAG" VARCHAR2(10 CHAR),
"MESSAGE_FLAG_DESCRIPTION" VARCHAR2(100 CHAR),
"MESSAGE_WORKFLOW_ID" VARCHAR2(100 CHAR),
"CREATED_DTIME" TIMESTAMP (6),
"PROCESSED_DTIME" TIMESTAMP (6),
"CREATED_BY" VARCHAR2(100 CHAR),
"MSR_DYNAMIC_BULK_ID" VARCHAR2(50 CHAR),
"PARTNER_ID" VARCHAR2(50 CHAR),
"ADDITIONAL_DATA" VARCHAR2(255 CHAR)
);
CREATE SEQUENCE SEQ_MERO3 INCREMENT BY 1 MAXVALUE 99999999 MINVALUE 1 CYCLE CACHE 99999998;
My plan is to have a table view for every department with a different auto increment value message_id from a sequence. Our user will insert into view instead of directly insert into a table. For example :
- stgv_mero_tippers with auto-increment message_id from SELECT 'TIP-'||TO_CHAR(SYSDATE,'YYYYMMDD')||'-'||APP_BICC.SEQ_MERO3.NEXTVALFROM DUAL;
- stgv_mero_mss with auto-increment message_id from SELECT 'MSS-'||TO_CHAR(SYSDATE,'YYYYMMDD')||'-'||APP_BICC.SEQ_MERO3.NEXTVALFROM DUAL;
- stgv_mero_mitra with auto-increment message_id from SELECT 'MTR-'||TO_CHAR(SYSDATE,'YYYYMMDD')||'-'||APP_BICC.SEQ_MERO3.NEXTVALFROM DUAL;
my question is is it possible to create something similar "before insert trigger" on top in oracle views? or is there any way to create a mechanism like my explanation above?