Date: Wed, 5 Oct 2005 17:20:29 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、こんにちは
-----Original Message-----
From: yossan [mailto:yossan_h@mx2.wt.tiki.ne.jp]
Sent: Wednesday, October 05, 2005 4:29 PM
To: who@example.ne.jp
Subject: [ml-msde-beg:01669] 主キーの変更
>CardInfoというテーブルのIssueIDに付いた主キーを削除したいのです。
>alter table CardInfo NOCHECK CONSTRAINT IssueID
ちょっと違います
CONSTRAINTの後には、列の名前ではなく、制約の名前です。
上巻書籍の187ページから193ページ付近を参照下さい
http://www.horikawa.ne.jp/msde/gihyo/sec02.html
http://www.horikawa.ne.jp/msde/gihyo/sql02/ex-3/ex3-09.html
http://www.horikawa.ne.jp/msde/gihyo/sql02/ex-3/ex3-10.html
主キーを作成するときに、制約名を付けて作成すれば、
その主キーを削除するのは簡単です。
ALTER TABLE テーブル名 DROP CONSTRAINT 制約名
ところが、制約名を付けて、主キーを作成していますか?
たぶん省略することが多いと思います。
制約名を付けないと、システムがデフォルトの名前を付けてしまうので
その名前を探すのが大変です。
SQL文でテーブルを作成するときは、常に、制約名を省略せずに、
実行するのがポイントです。
例えば、次のようなCREATE TABLE文の形式です。
CREATE TABLE テーブル名 (
列名 型 ,
列名 型 ,
CONSTRAINT 制約の名前(例えばPK_テーブル名_列名) PRIMARY KEY ( 列名 )
)
でテーブルを作成すれば、制約の削除が簡単に実行できます。
主キーも、制約の一種になります。
------------------------------------
Epata-IT/日本技術ソフト開発
堀川 明 (Akira Horikawa)
10月05日(水曜日) 17時19分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|