概要:このチュートリアルでは、SQL Server ALTER TABLE ALTER COLUMNテーブルの列を変更するステートメント。
SQL Serverでは、テーブルの既存の列に対して次の変更を実行できます。
- データタイプを変更する
- サイズの変更
-
NOT NULL制約の追加
列のデータタイプの変更
列のデータタイプを変更するには、次のステートメントを使用します。
Code language: SQL (Structured Query Language) (sql)
新しいデータタイプは古いデータタイプと互換性がある必要があります。それ以外の場合は、列にデータがあり、変換に失敗した場合、変換エラーが発生します。
次の例を参照してください。
まず、データタイプが次の1つの列を持つ新しいテーブルを作成します。 INT:
Code language: SQL (Structured Query Language) (sql)
次に、テーブルにいくつかの行を挿入します:
Code language: SQL (Structured Query Language) (sql)
次に、mo列のデータ型をINTからVARCHARに指定します:
Code language: SQL (Structured Query Language) (sql)
3番目に、文字列データを含む新しい行を挿入します。
Code language: SQL (Structured Query Language) (sql)
4番目に、列のデータ型を INTに戻る:
Code language: SQL (Structured Query Language) (sql)
SQL Serverは次のエラーを発行しました:
Code language: SQL (Structured Query Language) (sql)
列のサイズを変更する
次のステートメントは、データ型が1つの列を持つ新しいテーブルを作成します。 VARCHAR(10):
Code language: SQL (Structured Query Language) (sql)
サンプルデータをt2テーブルに挿入しましょう:
Code language: SQL (Structured Query Language) (sql)
次のように列のサイズを増やすことができます。
Code language: SQL (Structured Query Language) (sql)
ただし、サイズを小さくすると、列のSQLServerは、既存のデータをチェックして、新しいサイズに基づいてデータを変換できるかどうかを確認します。変換が失敗した場合、SQL Serverはステートメントを終了し、エラーメッセージを発行します。
たとえば、列cのサイズを5文字に減らすと:
Code language: SQL (Structured Query Language) (sql)
SQLServerは次のエラーを発行しました:
Code language: SQL (Structured Query Language) (sql)
NOTNULL制約をに追加しますnull可能な列
次のステートメントは、null可能な列を持つ新しいテーブルを作成します。
Code language: SQL (Structured Query Language) (sql)
次のステートメントは、テーブルにいくつかの行を挿入します。 :
Code language: SQL (Structured Query Language) (sql)
NOT NULL制約を列c、最初にNULLを非NULLに更新する必要があります。例:
Code language: SQL (Structured Query Language) (sql)
次に、NOT NULL制約:
Code language: SQL (Structured Query Language) (sql)
このチュートリアルでは、SQL Server ALTER TABLE ALTER COLUMNを使用して変更する方法を学習しました。既存の列のいくつかのプロパティ。