Forcing a Default Value on Import
Posted: Thu 12 Dec 2013 22:47
I thought I saw a similar post under the MySQL tool on 11/27/2012 called "BUG: before-insert trigger gets ignored while bulk-insert / import" but could not see what the resolution was so sorry if this has been answered.
I have an oracle table with an insert trigger on the primary key (ID). When I try to import a CSV file, I am asked to enter a default value for the ID field. If I do this, I get an error on the second record that the key is not unique. I am only loading one field from the CSV file.
Table:
CREATE TABLE TBLRESCATEGORY (
ID NUMBER(10, 0) NOT NULL,
CATEGORY_NAME VARCHAR2(50 BYTE),
CAT_START_DATE DATE,
CAT_END_DATE DATE,
CONSTRAINT PK_TBLRESCATEGORY PRIMARY KEY (ID),
CONSTRAINT UV_RESCATEGORY_NAME UNIQUE (CATEGORY_NAME)
Trigger:
CREATE OR REPLACE TRIGGER RES_CATEGORY_INS
BEFORE INSERT
ON TBLRESCATEGORY
FOR EACH ROW
BEGIN
IF inserting
THEN
IF :NEW."ID" IS NULL
THEN
SELECT SEQ_RES_MSTR.NEXTVAL
INTO :NEW."ID"
FROM dual;
END IF;
END IF;
END;
)
Thanks
I have an oracle table with an insert trigger on the primary key (ID). When I try to import a CSV file, I am asked to enter a default value for the ID field. If I do this, I get an error on the second record that the key is not unique. I am only loading one field from the CSV file.
Table:
CREATE TABLE TBLRESCATEGORY (
ID NUMBER(10, 0) NOT NULL,
CATEGORY_NAME VARCHAR2(50 BYTE),
CAT_START_DATE DATE,
CAT_END_DATE DATE,
CONSTRAINT PK_TBLRESCATEGORY PRIMARY KEY (ID),
CONSTRAINT UV_RESCATEGORY_NAME UNIQUE (CATEGORY_NAME)
Trigger:
CREATE OR REPLACE TRIGGER RES_CATEGORY_INS
BEFORE INSERT
ON TBLRESCATEGORY
FOR EACH ROW
BEGIN
IF inserting
THEN
IF :NEW."ID" IS NULL
THEN
SELECT SEQ_RES_MSTR.NEXTVAL
INTO :NEW."ID"
FROM dual;
END IF;
END IF;
END;
)
Thanks