dポイントプレゼントキャンペーン実施中!

お世話になります。

今、以下のような列からなるテーブルがあります。

・A(主キー)
・B(主キー)
・C(主キー)
・D(主キー)
・E(NOT NULL)
・F

列A、B、C、Dが複数列の組み合わせで主キーです。

このテーブルを以下のように変更したい場合、
どのようなALTER TABLE文を書けばできますでしょうか。

※列A、B、C、Dの主キーはやめて、列A、B、C、D、G、H、Iの
 複数列によるUNIQUE制約を設定。

・A(UNIQUE&NOT NULL)← 主キーはやめる
・B(UNIQUE&NOT NULL)← 主キーはやめる
・C(UNIQUE&NOT NULL)← 主キーはやめる
・D(UNIQUE&NOT NULL)← 主キーはやめる
・E(NOT NULL)
・F
・G(UNIQUE)← 追加
・H(UNIQUE)← 追加
・I(UNIQUE)← 追加

やりたいことは、列G、H、Iを追加して、
A、B、C、D、G、H、IでUNIQUEにしたく、かつ、
追加したG、H、IはNULLを許容したいということです。

A、B、C、D、G、H、Iの複数列の組み合わせで主キーも
考えましたが、主キーにするとNULLが許容できないと
いうことで、上記のようなレイアウトを考えました。

他に上手い方法があればご教授いただけると幸いです。

ちなみに列のデータ型はすべて可変長の文字列です。

A 回答 (1件)

RDBMS名とバージョンは、何ですか?



DDL(定義)は、RDBMSによる機能差、仕様差が多い部分です。

この回答への補足

chukenkenkouさん

ご回答ありがとうございます。

RDBMSは、ややマイナーでして、富士通のSymfowareです。

また、バージョンは9.0になります。

よろしくお願いします。

補足日時:2011/03/24 09:37
    • good
    • 0
この回答へのお礼

chukenkenkouさん

ご回答ありがとうございます。

その後、自分で調べ、SymfowareではALTER TABLEで、
やりたいことができないことがわかりましたので、
テーブルを作り直すこととしました。

よって本質問は締め切ります。

ありがとうございました。

お礼日時:2011/03/31 06:23

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