ORA-22908: reference to NULL table value (insert into nest)
442975Aug 31 2007 — edited Sep 4 2007Hi all,
When attempting to insert a record into a nested table I get the above error (ORA-22908...). I've read what the error means, but to be honest it's a bit confusing. I'm wondering if someone could shed some light on the topic for me.
The insert statement I'm using is:
IF (:P50_CASEN IS NOT NULL) THEN
INSERT INTO TABLE(SELECT LSMCS FROM SIN WHERE CASEN = :P50_CASEN)
VALUES
(LSMC_TY(:P50_C1,:P50_C2,:P50_C3,:P50_C4));
END IF;
The table def/DDL for SIN is:
CREATE TABLE "SIN"
( "ID" NUMBER NOT NULL ENABLE,
"CASEN" NUMBER,
"EB" VARCHAR2(100),
"EO" DATE,
"ED" DATE,
"NAME" VARCHAR2(100),
"TITLE" VARCHAR2(100),
"STATUS" VARCHAR2(20),
"SPR" VARCHAR2(100),
"BUNIT" VARCHAR2(100),
"ECM" VARCHAR2(100),
"PHONE" VARCHAR2(30),
"REGION" VARCHAR2(30),
"CAT" VARCHAR2(30),
"PII" VARCHAR2(10),
"RTN" VARCHAR2(10),
"TCSIRC" VARCHAR2(10),
"USCERT" VARCHAR2(10),
"OCCS" VARCHAR2(10),
"NOTES" VARCHAR2(4000),
"LSMCS" "LSMCS_NT"
)
NESTED TABLE "LSMCS" STORE AS "LSMCS_NT_TAB"
RETURN AS VALUE
/
CREATE OR REPLACE TRIGGER "BI_SIN"
before insert on "SIN"
for each row
begin
if :NEW."ID" is null then
select "SIN_SEQ".nextval into :NEW."ID" from dual;
end if;
end;
/
ALTER TRIGGER "BI_SIN" ENABLE
/
++++++++++++
The DDL for the type is:
CREATE OR REPLACE TYPE "LSMC_TY" AS OBJECT
(C1 VARCHAR2(50),
C2 VARCHAR2(50),
C3 VARCHAR2(10),
C4 VARCHAR2(4000));
/
+++++++
Any help would be much appreciated...