MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/admin/catxtbix.sql

Rem
Rem $Header: rdbms/admin/catxtbix.sql /main/23 2014/02/20 12:46:25 surman Exp $
Rem
Rem catxtbix.sql
Rem
Rem Copyright (c) 2004, 2014, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      catxtbix.sql - XMLTableIndex related schema objects
Rem
Rem    DESCRIPTION
Rem     This script creates the views, packages, index types, operators and 
Rem     indexes required for supporting the XMLTableIndex
Rem
Rem    NOTES
Rem      This script should be run as "XDB".
Rem
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: rdbms/admin/catxtbix.sql
Rem SQL_SHIPPED_FILE: rdbms/admin/catxtbix.sql
Rem SQL_PHASE: CATXTBIX
Rem SQL_STARTUP_MODE: NORMAL
Rem SQL_IGNORABLE_ERRORS: NONE
Rem SQL_CALLING_FILE: rdbms/admin/catqm_int.sql
Rem END SQL_FILE_METADATA
Rem
Rem    MODIFIED     (MM/DD/YY)
Rem    surman       01/22/14 - 13922626: Update SQL metadata
Rem    qyu          03/18/13 - Common start and end scripts
Rem    traney       04/05/11 - 35209: long identifiers dictionary upgrade
Rem    juding       07/15/10 - bug 9903850: change indexes for xdb.xdb$xtab,
Rem                            xdb.xdb$xtabnmsp, xdb.xdb$xtabcols
Rem    thbaby       06/08/10 - add segattrs column to xdb.xdb$xtab
Rem    thbaby       02/26/10 - add depgrppos column
Rem    thbaby       02/25/10 - add grppos column to xdb$xtab
Rem    thbaby       05/21/09 - remove xtimetadata_pkg
Rem    sipatel      09/16/08 - #(7414934) - change schema from sys to xdb 
Rem    thbaby       07/30/08 - disable xmltableindex indextype
Rem    bhammers     10/30/07 - change ODCIIndexGetMetadata for imp/exp
Rem                            deactivate ODCIIndexUtilGetTableNames
Rem                            added xtimetadata_pkg package
Rem    hxzhang      03/18/08 - coltype to varchar2(100)
Rem    shvenugo     10/04/07 - partitioning
Rem    hxzhang      08/27/07 - add add/drop column 
Rem    hxzhang      05/16/07 - change xpath to varchar2(4000)
Rem    bhammers     04/19/07 - add flag for orig col type
Rem    hxzhang      06/26/06 - add group# 
Rem    hxzhang      06/06/06 - add flag column to xtabcols
Rem    rburns       05/05/06 - rename script 
Rem    hxzhang      12/14/05 - Created

@@?/rdbms/admin/sqlsessstart.sql

declare
  exist number;
  sys_exist number;
begin
  select count(*) into exist from DBA_TABLES where table_name = 'XDB$XTAB'
  and owner = 'XDB';

  if exist = 0 then
    select count(*) into sys_exist from DBA_TABLES where table_name = 'XDB$XTAB'
    and owner = 'SYS';

    if sys_exist = 1 then
      begin
        execute immediate
          'drop library sys.xmltableindex_lib force';
      exception
        when others then null;
      end;

      begin
        execute immediate
          'drop table sys.xdb$xtab force';
      exception
        when others then null;
      end;

      begin
        execute immediate
          'drop table sys.xdb$xtabnmsp force';
      exception
        when others then null;
      end;

      begin
        execute immediate
          'drop table sys.xdb$xtabcols force';
      exception
        when others then null;
      end;
    end if;

    execute immediate
      'create table xdb.xdb$xtab (
         idxobj#    number not null,             -- object # of XMLTableIndex
         groupName  NVARCHAR2(128)  not null,     -- group name of XMLTableIndex
         xmltabobj# number not null,             -- object # of XML TABLE
         ptabobj#   number,                      -- object # of parent table
         xpath      VARCHAR2(4000) not null,    -- row source 
         xquery     clob,                       -- xquery row source 
         flags      number,
         parameters XMLType,
         grppos     number,                     -- group position
         depgrppos  number,                     -- dependent group position
         segattrs   varchar2(4000),             -- segment attributes and
                                                -- table properties
           constraint xdb$xtabpk primary key (idxobj#,groupName,xmltabobj#)) xmltype column parameters store as CLOB';
    execute immediate
      'create index xdb.xdb$idxxtab_1 on xdb.xdb$xtab(idxobj#, groupname, ptabobj#)';
    execute immediate
      'create index xdb.xdb$idxxtab_2 on xdb.xdb$xtab(idxobj#, depgrppos, xmltabobj#)';

    execute immediate
      'create table xdb.xdb$xtabnmsp (
         idxobj# number not null,           -- object # of XMLTableIndex
         groupName  NVARCHAR2(128) not null, -- group  name of XMLTableIndex
         xmltabobj# number not null,        -- object # of XMLTable
         prefix  NVARCHAR2(128),             -- namespace prefix
         namespace   NVARCHAR2(2000),       -- namespace or xpath
         flags   number not null)';         -- 0x01 NAMESPACE 
    execute immediate
      'create index xdb.xdb$idxtabnmsp_1 on xdb.xdb$xtabnmsp(idxobj#, groupname, xmltabobj#, flags)';

    execute immediate
      'create table xdb.xdb$xtabcols (
         idxobj# number not null,           -- object # of XMLTableIndex
         groupName  NVARCHAR2(128) not null, -- group  name of XMLTableIndex
         xmltabobj# number not null,        -- object # of XMLTable
         colname  NVARCHAR2(2000) not null, -- column name
         coltype  NVARCHAR2(100)   not null, -- column type
         xpath    VARCHAR2(4000) not null,  -- xpath
         flags number not null)';    -- flags 
    execute immediate
      'create index xdb.xdb$idxtabcols_1 on xdb.xdb$xtabcols(idxobj#, groupname, xmltabobj#)';
  end if;

end;
/

@?/rdbms/admin/sqlsessend.sql

OHA YOOOO