「SQL Server - プライマリーキー」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(文字列「</source>」を「</syntaxhighlight>」に置換)
(文字列「__FORCETOC__」を「{{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This pag…)
 
(同じ利用者による、間の1版が非表示)
4行目: 4行目:
<br>
<br>
以下では、T_Sampleテーブルのpk1プライマリーキーをempnoカラムに作成する。<br>
以下では、T_Sampleテーブルのpk1プライマリーキーをempnoカラムに作成する。<br>
  <source lang="sql">
  <syntaxhighlight lang="sql">
  -- プライマリーキーpk1を作成するクエリ
  -- プライマリーキーpk1を作成するクエリ
  ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno);
  ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno);
11行目: 11行目:
以下では、T_Sample1テーブルのck1複合キーをempnoカラムおよびdepnoカラムに作成する。<br>
以下では、T_Sample1テーブルのck1複合キーをempnoカラムおよびdepnoカラムに作成する。<br>
複合キーにする場合は、列名をカンマで続けて記述する。<br>
複合キーにする場合は、列名をカンマで続けて記述する。<br>
  <source lang="sql">
  <syntaxhighlight lang="sql">
  -- 複合キーck1を作成するクエリ
  -- 複合キーck1を作成するクエリ
  ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno,depno);
  ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno,depno);
29行目: 29行目:
<br>
<br>
まず、empテーブルのpk1プライマリーキーを削除する。<br>
まず、empテーブルのpk1プライマリーキーを削除する。<br>
  <source lang="sql">
  <syntaxhighlight lang="sql">
  -- プライマリーキーpk1の削除
  -- プライマリーキーpk1の削除
  ALTER TABLE emp DROP CONSTRAINT pk1;
  ALTER TABLE emp DROP CONSTRAINT pk1;
36行目: 36行目:
<br>
<br>
次に、table1テーブルのpk1プライマリーキーをempnoカラムに作成する。<br>
次に、table1テーブルのpk1プライマリーキーをempnoカラムに作成する。<br>
  <source lang="sql">
  <syntaxhighlight lang="sql">
  -- プライマリーキーの作成
  -- プライマリーキーの作成
  ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno);
  ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno);
46行目: 46行目:
<br>
<br>
以下では、empテーブルのpk1プライマリーキーを削除する。<br>
以下では、empテーブルのpk1プライマリーキーを削除する。<br>
  <source lang="sql">
  <syntaxhighlight lang="sql">
  -- pk1プライマリーキーの削除
  -- pk1プライマリーキーの削除
  ALTER TABLE emp DROP CONSTRAINT pk1;
  ALTER TABLE emp DROP CONSTRAINT pk1;
52行目: 52行目:
[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>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:SQL_Server]]
[[カテゴリ:SQL_Server]]

2024年11月10日 (日) 16:01時点における最新版

プライマリーキー(主キー)を作成するSQL

SQL Serverのプライマリーキー(主キー)をテーブル作成後に作成するには、
ALTER TABLE [テーブル名] ADD CONSTRAINT [プライマリーキー名] KEY CLUSTERED [カラム名]文を使用する。

以下では、T_Sampleテーブルのpk1プライマリーキーをempnoカラムに作成する。

 -- プライマリーキーpk1を作成するクエリ
 ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno);


以下では、T_Sample1テーブルのck1複合キーをempnoカラムおよびdepnoカラムに作成する。
複合キーにする場合は、列名をカンマで続けて記述する。

 -- 複合キーck1を作成するクエリ
 ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno,depno);

参照 : 主キーの作成 | Microsoft Docs


プライマリーキー(主キー)を変更するクエリ

SQL Server(Transact-SQL)には、プライマリーキー(主キー)を変更するクエリは存在しない。
変更するには、プライマリーキーを削除してから、新たにプライマリーキーを作成する。

  • 変更の手順
  1. 既存のプライマリーキーの削除
    ALTER TABLE [テーブル名] DROP CONSTRAINT [プライマリーキー名];
  2. 新たにプライマリーキーを作成する
    ALTER TABLE [テーブル名] ADD CONSTRAINT [プライマリーキー名] KEY CLUSTERED [カラム名];


まず、empテーブルのpk1プライマリーキーを削除する。

 -- プライマリーキーpk1の削除
 ALTER TABLE emp DROP CONSTRAINT pk1;

参照 : 主キーの削除 | Microsoft Docs

次に、table1テーブルのpk1プライマリーキーをempnoカラムに作成する。

 -- プライマリーキーの作成
 ALTER TABLE table1 ADD CONSTRAINT pk1 KEY CLUSTERED (empno);



プライマリーキーの削除

プライマリーキーを削除するには、ALTER TABLE [テーブル名] DROP CONSTRAINT [プライマリーキー名]文を使用する。

以下では、empテーブルのpk1プライマリーキーを削除する。

 -- pk1プライマリーキーの削除
 ALTER TABLE emp DROP CONSTRAINT pk1;

参照 : 主キーの削除 | Microsoft Docs