是否可以在Global临时表上创建索引?如果是,我们是否需要在单个会话中创建.
我尝试了以下方式,最后得到了以下问题.
第一节:
CREATE GLOBAL TEMPORARY TABLE "SFE_ADM"."DUMMY_GLO"
( "C1" VARCHAR2(6 CHAR)
) ON COMMIT PRESERVE ROWS ;
CREATE INDEX DUMMY_GLO_IDX ON DUMMY_GLO (C1) TABLESPACE SFE_I1;
Run Code Online (Sandbox Code Playgroud)
第一节:
CREATE GLOBAL TEMPORARY TABLE "SFE_ADM"."DUMMY_GLO"
( "C1" VARCHAR2(6 CHAR)
) ON COMMIT PRESERVE ROWS ;
Run Code Online (Sandbox Code Playgroud)
第二节:
CREATE INDEX DUMMY_GLO_IDX ON DUMMY_GLO (C1) TABLESPACE SFE_I1;
Run Code Online (Sandbox Code Playgroud)
第一节:
CREATE GLOBAL TEMPORARY TABLE "SFE_ADM"."DUMMY_GLO"
( "C1" VARCHAR2(6 CHAR)
) ON COMMIT PRESERVE ROWS ;
Run Code Online (Sandbox Code Playgroud)
第二节:
TRUNCATE TABLE DUMMY_GLO
CREATE INDEX DUMMY_GLO_IDX ON DUMMY_GLO (C1) TABLESPACE SFE_I1;
Run Code Online (Sandbox Code Playgroud)
对于上述所有尝试,我收到一条错误消息说.
getting an error while creating index for temporary table
Error starting at line : 1 in command -
CREATE INDEX DUMMY_GLO_IND ON DUMMY_GLO (C1) TABLESPACE SFE_I1
Error at Command Line : 1 Column : 42
Error report -
SQL Error: ORA-14451: unsupported feature with temporary table
14451. 00000 - "unsupported feature with temporary table"
*Cause: An attempt was made to create an IOT, specify physical attributes,
specify partition or parallel clause.
*Action: do not do that
Run Code Online (Sandbox Code Playgroud)
是的,您可以在临时表上创建索引,但不能为其指定表空间:
SQL> CREATE INDEX DUMMY_GLO_IDX ON DUMMY_GLO (C1);
Index created.
Run Code Online (Sandbox Code Playgroud)
我不确定你为什么要尝试使用不同的会话.全局临时表及其索引只能创建一次,就像普通表一样.然后,许多会话可以立即使用该表,而无需查看彼此的数据.
| 归档时间: |
|
| 查看次数: |
12919 次 |
| 最近记录: |