「SQL Server - プライマリーキー」の版間の差分
ナビゲーションに移動
検索に移動
細 (Wiki がページ「プライマリーキーの作成・変更・削除(SQL Server)」を「SQL Server - プライマリーキー」に、リダイレクトを残さずに移動しました) |
細 (文字列「</source>」を「</syntaxhighlight>」に置換) |
||
7行目: | 7行目: | ||
-- プライマリーキーpk1を作成するクエリ | -- プライマリーキーpk1を作成するクエリ | ||
ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno); | ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno); | ||
</ | </syntaxhighlight> | ||
<br> | <br> | ||
以下では、T_Sample1テーブルのck1複合キーをempnoカラムおよびdepnoカラムに作成する。<br> | 以下では、T_Sample1テーブルのck1複合キーをempnoカラムおよびdepnoカラムに作成する。<br> | ||
14行目: | 14行目: | ||
-- 複合キーck1を作成するクエリ | -- 複合キーck1を作成するクエリ | ||
ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno,depno); | ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno,depno); | ||
</ | </syntaxhighlight> | ||
[https://docs.microsoft.com/ja-jp/sql/relational-databases/tables/create-primary-keys 参照 : 主キーの作成 | Microsoft Docs]<br> | [https://docs.microsoft.com/ja-jp/sql/relational-databases/tables/create-primary-keys 参照 : 主キーの作成 | Microsoft Docs]<br> | ||
<br><br> | <br><br> | ||
32行目: | 32行目: | ||
-- プライマリーキーpk1の削除 | -- プライマリーキーpk1の削除 | ||
ALTER TABLE emp DROP CONSTRAINT pk1; | ALTER TABLE emp DROP CONSTRAINT pk1; | ||
</ | </syntaxhighlight> | ||
[https://docs.microsoft.com/ja-jp/sql/relational-databases/tables/delete-primary-keys 参照 : 主キーの削除 | Microsoft Docs]<br> | [https://docs.microsoft.com/ja-jp/sql/relational-databases/tables/delete-primary-keys 参照 : 主キーの削除 | Microsoft Docs]<br> | ||
<br> | <br> | ||
39行目: | 39行目: | ||
-- プライマリーキーの作成 | -- プライマリーキーの作成 | ||
ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno); | ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno); | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
49行目: | 49行目: | ||
-- pk1プライマリーキーの削除 | -- pk1プライマリーキーの削除 | ||
ALTER TABLE emp DROP CONSTRAINT pk1; | ALTER TABLE emp DROP CONSTRAINT pk1; | ||
</ | </syntaxhighlight> | ||
[https://docs.microsoft.com/ja-jp/sql/relational-databases/tables/delete-primary-keys 参照 : 主キーの削除 | Microsoft Docs]<br> | [https://docs.microsoft.com/ja-jp/sql/relational-databases/tables/delete-primary-keys 参照 : 主キーの削除 | Microsoft Docs]<br> | ||
<br><br> | <br><br> |
2021年11月23日 (火) 09:14時点における版
プライマリーキー(主キー)を作成するSQL
SQL Serverのプライマリーキー(主キー)をテーブル作成後に作成するには、
ALTER TABLE [テーブル名] ADD CONSTRAINT [プライマリーキー名] KEY CLUSTERED [カラム名]文を使用する。
以下では、T_Sampleテーブルのpk1プライマリーキーをempnoカラムに作成する。
<source lang="sql"> -- プライマリーキーpk1を作成するクエリ ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno); </syntaxhighlight>
以下では、T_Sample1テーブルのck1複合キーをempnoカラムおよびdepnoカラムに作成する。
複合キーにする場合は、列名をカンマで続けて記述する。
<source lang="sql"> -- 複合キーck1を作成するクエリ ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno,depno); </syntaxhighlight>
プライマリーキー(主キー)を変更するクエリ
SQL Server(Transact-SQL)には、プライマリーキー(主キー)を変更するクエリは存在しない。
変更するには、プライマリーキーを削除してから、新たにプライマリーキーを作成する。
- 変更の手順
- 既存のプライマリーキーの削除
- ALTER TABLE [テーブル名] DROP CONSTRAINT [プライマリーキー名];
- 新たにプライマリーキーを作成する
- ALTER TABLE [テーブル名] ADD CONSTRAINT [プライマリーキー名] KEY CLUSTERED [カラム名];
まず、empテーブルのpk1プライマリーキーを削除する。
<source lang="sql"> -- プライマリーキーpk1の削除 ALTER TABLE emp DROP CONSTRAINT pk1; </syntaxhighlight>
参照 : 主キーの削除 | Microsoft Docs
次に、table1テーブルのpk1プライマリーキーをempnoカラムに作成する。
<source lang="sql"> -- プライマリーキーの作成 ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno); </syntaxhighlight>
プライマリーキーの削除
プライマリーキーを削除するには、ALTER TABLE [テーブル名] DROP CONSTRAINT [プライマリーキー名]文を使用する。
以下では、empテーブルのpk1プライマリーキーを削除する。
<source lang="sql"> -- pk1プライマリーキーの削除 ALTER TABLE emp DROP CONSTRAINT pk1; </syntaxhighlight>