プロが教えるわが家の防犯対策術!

いつもお世話になっております。
既存のSQLスクリプトを流してテーブルを作成しようとしているのですが、
ORA-00959: 表領域'TS_TB_DATA_1M'は存在しません
というエラーが出てしまいます。
スクリプトの内容は以下の通りです。
CREATE TABLE tb_mstcom_111 (
trhksk_cdCHAR (6),
         ・
         ・
        途中省略
         ・
         ・ 
sishkshnprg_cdVARCHAR2 (30),
skj_flgCHAR (1),
CONSTRAINT tb_mstcom_111 PRIMARY KEY (trhksk_cd) USING INDEX TABLESPACE ts_ix_data_1m
)
TABLESPACE ts_tb_data_1m;

単純なクリエイト文等しか経験したことが無い為、サイトを検索して調べてはみたのですが、初心者の私にはどれも??な感じで困っています。
どなたか原因がわかる方ご教授お願い致します。

A 回答 (2件)

エラーの通り、表領域がないためです。


ORACLEのテーブルはすべて表領域に作られます。
ですのでテーブルを作る前に表領域tb_mstcom_111を先に作成するか、上記のtb_mstcom_111の部分を存在する表領域に変更すればいいと思います。
表領域の作成はCREATE TABLESPACEで可能です。

この回答への補足

今まで単純にCREATE TABLEでテーブルを作成していたのですが、その時は表領域とか作成したりしなくてもできていました。
表領域が必要な場合とそうでない場合の違いとは何でしょうか?
お手数おかけしますが、簡単な説明でいいのでお願いします。

補足日時:2005/08/19 13:33
    • good
    • 0

表領域が必要な場合は、CREATE TABLEでTABLESPACEを指定したときです。


上記でいえば、TABLESPACE ts_tb_data_1m を指定しているからです。
(表領域名はtb_mstcom_111ではなく、ts_tb_data_1mでした。)
この指定をなくせば、デフォルトの表領域に上記のテーブルtb_mstcom_111が作成されます。
デフォルトの表領域にテーブルを作りたくない場合にTABLESPACE句を指定してCREATE TABLEを実行します。
    • good
    • 1
この回答へのお礼

迅速且つわかり易い説明ありがとうございました。
表領域を作成し、無事実行できました。

お礼日時:2005/08/19 15:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A