SQL Server ALTER TABLE ALTER COLUMN (日本語)

概要:このチュートリアルでは、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を使用して変更する方法を学習しました。既存の列のいくつかのプロパティ。

Write a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です