SQL Server Management Studio で、デザイン ビューの既存のフィールドを から に変更するDECIMAL (16,14)
とDECIMAL (18,14)
、テーブル全体とそのすべてのデータを削除せずに保存できません。
データベースにレコードが入力された後、フィールド タイプを変更することはできますか?
SQL Server Management Studio で、デザイン ビューの既存のフィールドを から に変更するDECIMAL (16,14)
とDECIMAL (18,14)
、テーブル全体とそのすべてのデータを削除せずに保存できません。
データベースにレコードが入力された後、フィールド タイプを変更することはできますか?
ビジュアル デザイナーの代わりに T-SQL スクリプトを使用するだけで、目標を達成できます。
ALTER TABLE dbo.YourTableNameHere
ALTER COLUMN YourColumnNameHere DECIMAL(18, 14)
そしてあなたは大丈夫なはずです。
ビジュアル デザイナーは、新しい構造でテーブルを作成し、すべてのデータをコピーするという非常に慎重なルートを取ります。これは機能しますが、面倒です。通常、列を切り捨てない (短くする) 限り、T-SQL ステートメントを使用して列のデータ型を "その場で" 確実に変更できます。
また、既定では、SSMS デザイナーは非常に慎重であり、テーブルの削除と再作成のサイクルを必要とする変更を許可しません。この余分な注意を無効にするにはTools > Options
、次のダイアログ ボックスを使用します。
このオプションをオフにすると、ビジュアル デザイナーで「破壊的な」変更を行うことができます。
SSMS でオプションがオフになっていても、デザイナーはテーブルをドロップします。次回実行するときにプロンプトが表示されません。これを証明するには、SQL プロファイラーを起動し、SSMS デザイナーを使用して列を変更します。Alter table コマンドが実行される前に、drop table コマンドが発行されていることがわかります。