DEFAULT制約付きのカラムの属性を変更する

公開日: : 最終更新日:2013/12/11 SQL Server , , , ,

DEFAULT制約付きのカラムの属性を変更する

SQLServerでDEFAULT制約付きのカラムの属性を変更する場合は、
ちょっとしたテクニックが必要です。

いきなり変更するとエラーになる

SQLServerでDEFAULT制約付きのカラムの属性を変更する場合は、
一旦付与されている制約を外してから変更しなければ

のようにエラーになります。

一度設定されている制約を削除して作成する

上記で見たようにすでに制約が存在する場合はエラーになるので
一旦削除してから作成します。
ただ、制約の名前は「DF_xxx_xxx」のように自動で生成された文字列で
それを毎回調べて削除して新しい制約を付与するのは面倒なので、
ちょっとしたプログラムを作成しました。

実行結果は
元のテーブルの内容

cnt
10
11

属性をDECIMAL(8,2)に変更したテーブルの内容

cnt
10.00
11.00
999999.99
999999.81

属性をINTに戻したテーブルの内容

cnt
10
11
999999
999999

のような感じになります。

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 13 follow us in feedly

関連記事

SQLServer

SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です

SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です。 3ケタずつ

記事を読む

テーブルにユニークインデックス(UNIQUE INDEX)を作成する

テーブルにユニークインデックス(UNIQUE INDEX)を作成 すでに作成したテーブルにユニ

記事を読む

SQLServer

SQLServerで累積値(累積比)を求める

SQLServerで累積値(累積比)を求める SQLServerで累積値(累積比)を求めるには

記事を読む

指定された月の日数をSQLで求める

指定された月の日数をSQLで求める SQLServerには該当月の日数を求める関数がないので

記事を読む

再帰SQLで最大再帰数の指定

再帰SQLを実行すると最大再帰数に達してエラー 先日作成した日付を管理しているテーブルから共通テー

記事を読む

データベースに登録されている内容を固定長の長さで出力する(2)

登録されている内容を固定長の長さで出力する 先日作成したデータベースに登録されている内容を固定長の

記事を読む

SQLServer

GROUP BYとHAVINGを使ってデータの重複を探しだすSQL

GROUP BYとHAVINGで重複を探す SQLでGROUP BYとHAVINGを使ってデー

記事を読む

SQLServerで作ったテンポラリテーブルが見つからず無効になってしまう

SQLServerでテンポラリテーブルを利用して処理を行う時に 「オブジェクト名 '#tmp_ta

記事を読む

sp_pkeys – SQL Serverでテーブルのプライマリキーを取得する

sp_pkeysを使ってSQL Serverでテーブルのプライマリキーを取得します。

記事を読む

SQL Server-ストアドプロシジャーのソースを表示する1

ストアドプロシジャーのソースを表示します。

記事を読む

SQLで順位を取得するRANK()とDENSE_RANK()

SQLで順位を取得する SQLServerで項目の順位付け関数を利用

SQLでCASE~WHENを使ってみる

SQLでCASE~WHENを使う SQLでCASE~WHENを使うと

列は既にデフォルトにバインドされています。

テーブルのカラムの属性変更でデフォルト値を変更する テーブルのカラム

SQLで指定月のカレンダー作成

ストアドプロシージャでカレンダーを作成する SQLServerでスト

テーブルから列を削除する「ALTER TABLE テーブル名 DROP COLUMN 削除する列名」

既存のテーブルから指定した列を削除する 既存のテーブルで不要になった

→もっと見る



PAGE TOP ↑