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
  • 関連記事

    SQLサーバ

    連番中で 「歯抜け」の番号を見つけ出すSQL

    テーブル内の連番の歯抜け番号を探す よくある処理でテーブルに設定されている連番の中で 「歯抜け」

    記事を読む

    SQLServerでTrue,FalseのようなBoolean型をあつかう

    SQLServerでBoolean型を扱う SQLServerには「Boolean」という型は

    記事を読む

    SQLで文字列を反転させる

    SQLで文字列を反転させる SQLで文字列を"012345"を後ろから並び変えて"543210"の

    記事を読む

    SQLServerでsp_renameを使ってテーブルの列名を変更する

    SQLServerで列名を変更するには sp_renameを使って列名を変更 SQLServ

    記事を読む

    SQLで前の行と同じ値は表示しないようにする

    前の行と同じ値は表示しない SQLで前の行と同じ値は表示しないようにするして 伝票印刷のような処

    記事を読む

    SQLServerでSQLを使ってテーブルのカラム名(項目名)を取得する

    SQLでテーブルのカラム名(項目名)を取得 Oracleでは とわりと簡単に取得できるの

    記事を読む

    システム日付を取得する

    様々な関数でコンピューターのシステム日付を取得する SQLServerのインスタンスを実行している

    記事を読む

    ISNULLとCOALESCEは動作が異なる

    ISNULLとCOALESCEは動作が異なるので注意が必要 とある人が作成したSQLを見ているとC

    記事を読む

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

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

    記事を読む

    SQL Server-SQLでテーブル仕様書になるものネタを取ってみる

    SQLでテーブル仕様書になるものネタを取ってみます。 これを実行すると [crayo

    記事を読む

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

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

    SQLで文字列を反転させる

    SQLで文字列を反転させる SQLで文字列を"012345"を後ろか

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

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

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

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

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

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

    →もっと見る



    PAGE TOP ↑