Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

create materialized view on nested table

siegwin.portMay 7 2020

Hi,

I have the following table:

create or replace TYPE          "MUENZ_BILDER"                                         

AS

  object

  (

    nummer NUMBER,

    bild BLOB,

    mime_type VARCHAR2(200),

    bild_name VARCHAR2(2000) ) ;

create or replace TYPE          "MUENZ_BILDER_TAB"                                         

AS

  TABLE OF muenz_bilder;

  CREATE TABLE "MUENZE"."MUENZEN"

   ( "MUENZ_ID" NUMBER NOT NULL ENABLE,

"MUENZ_TEXT" VARCHAR2(200 CHAR) NOT NULL ENABLE,

"MUENZ_BESCHREIBUNG" CLOB,

"MUENZ_BILD" "MUENZE"."MUENZ_BILDER_TAB" ,

"MUENZ_ERSTELLER" VARCHAR2(30 CHAR) NOT NULL ENABLE,

"MUENZ_ERSTELL_DATUM" DATE NOT NULL ENABLE,

"MUENZ_AENDERER" VARCHAR2(30 CHAR),

"MUENZ_AEND_DATUM" DATE,

"MUENZ_ANZAHL" NUMBER,

"MUENZ_DURCHMESSER" NUMBER,

"MUENZ_MASSEINHEIT" VARCHAR2(5 BYTE)

   ) SEGMENT CREATION IMMEDIATE

  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255

NOCOMPRESS LOGGING

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "USERS"

NESTED TABLE "MUENZ_BILD" STORE AS "NESTED_TAB_MUENZ"

(( PRIMARY KEY ("NESTED_TABLE_ID", "NUMMER")

  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "USERS"  ENABLE)

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

NOCOMPRESS

  TABLESPACE "USERS"

LOB ("BILD") STORE AS BASICFILE (

  TABLESPACE "USERS" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION

  NOCACHE LOGGING

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ) RETURN AS VALUE

LOB ("MUENZ_BESCHREIBUNG") STORE AS BASICFILE (

  TABLESPACE "LOB_TBS" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION

  NOCACHE LOGGING

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ;

  CREATE UNIQUE INDEX "MUENZE"."PK_MUENZ" ON "MUENZE"."MUENZEN" ("MUENZ_ID")

  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS

  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  TABLESPACE "USERS" ;

ALTER TABLE "MUENZE"."MUENZEN" ADD CONSTRAINT "PK_MUENZ" PRIMARY KEY ("MUENZ_ID")

  USING INDEX "MUENZE"."PK_MUENZ"  ENABLE;

  CREATE OR REPLACE EDITIONABLE TRIGGER "MUENZE"."MUENZ_BRIU" BEFORE

  INSERT OR UPDATE ON MUENZEN

  FOR EACH ROW

BEGIN

  IF inserting THEN

     IF ( :NEW.MUENZ_ID IS NULL ) THEN

        SELECT MUENZEN_SEQ.NEXTVAL INTO :NEW.MUENZ_ID FROM DUAL;

     END IF;

     :new.muenz_ersteller     := NVL ( v ( 'APP_USER' ) ,USER ) ;

     :new.muenz_erstell_datum := sysdate;

  ELSE

     :new.muenz_aenderer   := NVL ( v ( 'APP_USER' ) ,USER ) ;

     :new.muenz_aend_datum := sysdate;

  END IF;

END;

/

ALTER TRIGGER "MUENZE"."MUENZ_BRIU" ENABLE;

Now I try to buil a materialized view. A select as this

select

MUENZ_ID,

MUENZ_TEXT,

MUENZ_BESCHREIBUNG,

MUENZ_BILD,

MUENZ_ERSTELLER,

MUENZ_ERSTELL_DATUM,

MUENZ_AENDERER,

MUENZ_AEND_DATUM,

MUENZ_ANZAHL,

MUENZ_DURCHMESSER,

MUENZ_MASSEINHEIT

FROM MUENZE.MUENZEN MUZ ,

          TABLE ( MUZ.muenz_bild ) NT;

creates a record for each member of MUENZ_BILD. For example:

139 Deutscher Fussball-Bund Silbermedaillen Serie Zusammenschluss Ost- und Westverband 21.November 1990 - Vereinigung der ost- und westdeutschen Fußballverbände MUENZE.MUENZ_BILDER_TAB([MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER])

147 Deutscher Fussball-Bund Silbermedaillen Serie Meisterschale des DFB seit 1949 Deutschlands begehrteste Fußball-Trophäe MUENZE.MUENZ_BILDER_TAB([MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER])

149 Deutscher Fussball-Bund Silbermedaillen Serie Fussball-Weltmeister Deutschland 1954 Die Helden von Bern Fritz Walter und Helmut Rahn MUENZE.MUENZ_BILDER_TAB([MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER])

153 Deutscher Fussball-Bund Silbermedaillen Serie Jürgen Klinsmann Weltmeister 1990 Europameister 1996 Sympathieträger des deutschen Fußballs MUENZE.MUENZ_BILDER_TAB([MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER])

157 Deutscher Fussball-Bund Silbermedaillen Serie Erich Ribbeck - DFB-Teamchef 1998 - 2000 Der deutsche Fußball-Bund MUENZE.MUENZ_BILDER_TAB([MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER], [MUENZE.MUENZ_BILDER])

Please help me

Regards

Siegwin

Comments
Post Details
Added on May 7 2020
0 comments
323 views