1

私はSQLに比較的慣れておらず、必要な場合にのみSQLに手を出します。私はこれについていくつかの調査を行いましたが、成功は限られています。コードからテーブルスペース参照を削除する必要があります。デフォルトの表領域の設定は、データベースにすでに存在します。ちなみにそれはOracleデータベースです。

これらのコード行がある場合:

EXECUTE IMMEDIATE 'CREATE TABLE RAND_CATEGORY(
-------- insert random vars ---------------
CONSTRAINT RAND_CATEGORY PRIMARY KEY(cat_id,ver_num)
USING INDEX TABLESPACE VG_NDX ENABLE
)TABLESPACE VG_DATA';

これが私がこれまでに持っているものです:

EXECUTE IMMEDIATE 'CREATE TABLE RAND_CATEGORY(
-------- insert random vars ---------------
CONSTRAINT RAND_CATEGORY PRIMARY KEY(cat_id,ver_num)
USING INDEX TABLESPACE VG_NDX ENABLE
)';

私の質問は、行全体を削除する必要があるかどうかです。

USING INDEX TABLESPACE VG_NDX ENABLE

または、「TABLESPACEVG_NDX」を削除してそのままにしておく必要があります。

USING INDEX ENABLE

私はこれに不慣れであり、これについて助けが必要なだけであることを覚えておいてください。私は過去2週間SQLを学んでいて、テーブルスペースは私にとって少しファンキーです。前もって感謝します!:D

4

2 に答える 2

0

このUSING INDEX句を使用すると、インデックスの作成に関連する制約をより詳細に制御できます。http://docs.oracle.com/cd/B28359_01/server.111/b28310/indexes003.htmを参照してください。あなたの場合、TABLESPACEストレージ句。

Oracleにデフォルトの表領域を使用させる場合は、USING INDEX句を完全に削除して。を残すことができますENABLE

主キー制約ではCREATE TABLE、関連付けられたインデックスが自動的に有効になりますが(何かを見逃した場合を除く)、を保持するポイントがわかりませんENABLE

于 2012-07-31T16:15:11.010 に答える