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 技術サポート情報一覧] 
                                 
                        |