Example create clob 8

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus d'exemple
Domaine Exemple DDL
Voir aussi Example create index · Example create not null constraints

Example create clob 8 montre comment créer une table contenant des colonnes de type CLOB sous Oracle8, avec la syntaxe LOB ... STORE AS ... INDEX (...) qui permet de nommer et de placer le segment d'index du LOB dans son propre tablespace et sa propre clause de stockage.

Sous Oracle8i et versions ultérieures, la clause INDEX du LOB peut toujours nommer le segment d'index, mais Oracle ignore silencieusement le tablespace et le storage spécifiés dedans (dépréciés) : l'index LOB hérite alors du tablespace de la table. La syntaxe reste néanmoins acceptée sans erreur, ce qui rend ce script encore utilisable tel quel sur des versions récentes — à condition de ne pas compter sur le placement explicite de l'index LOB.

Script

-- Table avec deux colonnes CLOB, chacune avec son propre tablespace de LOB
-- et de son index de LOB (syntaxe Oracle8 ; INDEX/tablespace ignorés en 8i+)

DROP TABLE test_clob CASCADE CONSTRAINTS
/

CREATE TABLE test_clob (
      testrunid     NUMBER(15)
    , startdate     DATE
    , parameters    VARCHAR2(1000)
    , testtopology  CLOB
    , comments      VARCHAR2(4000)
    , testlog       CLOB
    , prefix        VARCHAR2(100)
)
LOB (testtopology)
    STORE AS testtopology_lob (
        TABLESPACE lob_data
        STORAGE (
            INITIAL 1M NEXT 1M PCTINCREASE 0 MAXEXTENTS UNLIMITED
        )
        INDEX testtopology_lob_idx (
            TABLESPACE lob_indexes
            STORAGE (
                INITIAL 256K NEXT 256K PCTINCREASE 0 MAXEXTENTS UNLIMITED
            )
        )
    )
LOB (testlog)
    STORE AS testlog_lob (
        TABLESPACE lob_data
        STORAGE (
            INITIAL 1M NEXT 1M PCTINCREASE 0 MAXEXTENTS UNLIMITED
        )
        INDEX testlog_lob_idx (
            TABLESPACE lob_indexes
            STORAGE (
                INITIAL 256K NEXT 256K PCTINCREASE 0 MAXEXTENTS UNLIMITED
            )
        )
    )
TABLESPACE users
STORAGE (
    INITIAL      256K
    NEXT         256K
    MINEXTENTS   1
    MAXEXTENTS   505
    PCTINCREASE  0
)
/

Voir aussi