こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Oracleでテーブルを作成する際に、インデクスの作成先を指定したい。

以下のようにテーブルを作成しようとしてます。

CREATE TABLE TEST_USER.M_USER
(
ID char(4),
NAME varchar2(40) NOT NULL),
CONSTRAINT PK_USER PRIMARY KEY(ID)
);

さて、プライマリキーを定義しているので、インデクスが作成されるはずです。
この作成先のテーブルスペースを指定したいのですが、方法が解りません。
CREATE TABLEの紹介をしているサイトにものっていなくて、途方にくれています・・・。
CONSTRAINT句を使えばいいのでしょうか?

投稿日時 - 2006-10-13 22:02:52

QNo.2470540

困ってます

質問者が選んだベストアンサー

こんな感じでかけます(スキーマ名はちょっと外しました)。
大文字の箇所を参考にしていただければ。
USING INDEXの後にTABLESPACE句が書けます。

create table m_user(
id char(4),
name varchar2(40) not null,
constraint pk_user primary key(id) USING INDEX TABLESPACE INDX
) TABLESPACE USERS;

ちなみにその後ろにSTORAGE句も書けます。
最後の行のTABLESPACE句は表の表領域を指定する場合です。
#こういうSQLがわからない場合、マニュアルを見るクセをつけていった方がいいと思いますよ?
#マニュアルはOTN(ORACLE TECHNOLOGY NETWORK)でダウンロードできます。
#(要ユーザ登録(無料))

参考URL:http://otn.oracle.co.jp/

投稿日時 - 2006-10-14 01:04:03

お礼

ありがとうございます。
OTNで、SQLのマニュアルをダウンロードしてきました。
これで多少、自分でも調べられそうです。
いわれてみれば、メーカーにマニュアルが無いはずが無いんですよね・・・。

投稿日時 - 2006-10-15 14:38:25

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問