列の変更 (データベース エンジン)
SQL Server 2012 では、SQL Server Management Studio または Transact-SQL を使用して列のデータ型を変更できます。
注意 |
---|
既にデータが格納されている列のデータ型を変更すると、既存のデータが新しい型に変換される時点で、それらのデータは完全に失われます。 さらに、変更した列に依存しているコードやアプリケーションも正常に動作しなくなる場合があります。 これには、クエリ、ビュー、ストアド プロシージャ、ユーザー定義関数、およびクライアント アプリケーションが含まれます。 このようなエラーは連鎖するので注意が必要です。 たとえば、変更した列に依存しているユーザー定義関数を呼び出すストアド プロシージャは、正常に動作しない可能性があります。 列に対して変更を行う場合は、よく考えてから行う必要があります。 |
このトピックの内容
作業を開始する準備:
セキュリティ
列のデータ型を変更する方法:
SQL Server Management Studio
Transact-SQL
作業を開始する準備
セキュリティ
権限
テーブルに対する ALTER 権限が必要です。
[Top]
SQL Server Management Studio の使用
列のデータ型を変更するには
オブジェクト エクスプローラーで、有効桁数を変更する列が含まれているテーブルを右クリックし、[デザイン] をクリックします。
データ型を変更する列を選択します。
[列のプロパティ] タブで、[データ型] プロパティのグリッド セルをクリックし、ドロップダウン リストから新しいデータ型を選択します。
[ファイル] メニューの [table name の保存] をクリックします。
注 |
---|
列のデータ型を変更すると、テーブル デザイナーでは選択したデータ型の既定の長さが適用されます。これは既に別の長さを選択していた場合でも同じです。 データ型の指定後、必要な値を格納できるようにするために、データ型に適切な長さを設定してください。 |
注意 |
---|
別のテーブルに関連付けられている列のデータ型を変更しようとすると、別のテーブルの列にも変更が行われることを確認するメッセージがテーブル デザイナーに表示されます。 |
[Top]
Transact-SQL の使用
列のデータ型を変更するには
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。
CREATE TABLE dbo.doc_exy (column_a INT ) ; GO INSERT INTO dbo.doc_exy (column_a) VALUES (10) ; GO ALTER TABLE dbo.doc_exy ALTER COLUMN column_a DECIMAL (5, 2) ; GO
詳細については、「ALTER TABLE (Transact-SQL)」を参照してください。