テーブル内の列をvarchar(8000)からvarchar(MAX)に変更しようとすると、SSMSはテーブルの制約を削除し、新しいテーブルを作成し、古いテーブルのすべてのデータを新しいテーブルに挿入するスクリプトを生成します古いテーブルから外部キーを削除し、古いテーブルを削除し、新しいテーブルの名前を変更してから、新しいテーブルの外部キーを再作成します。これは一般的に 'ALTER TABLE TableA ALTER COLUMN ColumnA varchar(MAX)'を実行するよりも安全ですか? SSMS生成スクリプトと 'ALTER TABLE TableA ALTER COLUMN ColumnA varchar(MAX)'スクリプトのどちらを実行するのですか?varchar(8000)からvarchar(MAX)に列を変更しようとすると、SSMSがテーブルを削除して再作成するのはなぜですか?
1
A
答えて
-2
機能的には同じではありません。 VARCHAR(8000)は最大8,000文字です。 VARCHAR(MAX)は技術的に2^31-1(2,147,483,647)文字まで格納できます。
https://technet.microsoft.com/en-us/library/ms176089(v=sql.110).aspx
関連する問題
- 1. SQL Server 2008のデータ列をvarchar(max)からnvarchar(max)に変更する
- 2. SQL Server 2008 VarChar(Max)は、8000文字のみを返します。どうして?
- 3. VarChar列から無効なデータを削除します。
- 4. DataTable - Varchar()列からMax()の値を探しますか?
- 5. VARCHAR(MAX)列
- 6. テキストをvarchar(MAX)に変換する
- 7. Oracleのvarcharソート順がvarchar比較の動作と一致しないのはなぜですか?
- 8. なぜカラムをvarchar(50)からintに変更すると、より多くのスペースが必要です
- 9. VARCHAR(MAX)を取得する
- 10. MIN()とMAX()はMySQLのCHAR/VARCHAR文字列でどのように動作しますか?
- 11. VARCHAR変数を8000文字より大きく操作します。
- 12. VARCHARカラムからデータをストライピングした後、MySQL MyISAMテーブルのサイズが同じになるのはなぜですか?
- 13. 列テーブルDDLにVARCHARを作成するにはどうすればよいですか?
- 14. 列データ型をvarchar(255)からdateに変更するにはどうすればよいですか?
- 15. varchar型からget max idを取得する方法は?
- 16. すべてのVARCHARをVARCHAR(65535)として指定してみませんか?
- 17. SQL Serverテーブルの列のデータ型をbigintからvarcharに変更した後に、そのデータ型を変更することはできますか?
- 18. 更新varchar型は、私はこのようなアップデート句でvarchar型の列を更新したい
- 19. T-SQL VARCHAR(MAX)
- 20. sql varchar(max)issue
- 21. 更新クエリでvarchar(max)からジオメトリを取得
- 22. HQLを使用するvarcharカラムのMAX
- 23. MySQLで比較するとintにvarcharまたはvarcharに変換する方が速いですか?
- 24. varchar列の最大長を変更しますか?
- 25. varchar型の変数とテーブルの列を宣言し
- 26. intとVarCharを比較するSSMS 12 SP
- 27. 画像をbase64string(varchar(max))またはvarbinaryとして保存する
- 28. SQL Server 2008 UDFでVarChar列を更新していますか?
- 29. SQL Serverでvarchar(MAX)とTEXTを使用する
- 30. SQL Serverのストアドプロシージャは、パラメータとしてvarchar maxを使用します。
私は、なぜ我々は答えることができるとは思わない - 確かにそれはMicrosoftのスクリプトエンジン/ SSMSのデザイナーまででした。私たちは推測するしかありません。 – Bridge
[Management Studioで強制的にDROP/CREATEの代わりにALTER TABLEを使用する]の重複が考えられます(http://stackoverflow.com/questions/2431901/forcing-management-studio-to-use-alter-table-instead-of-drop -create) – Bridge
この質問は、SSMSにより簡単なスクリプトを作成させる方法に関するものではありません。あるスクリプトが他のスクリプトよりも安全かどうか、あるいは機能的に同等かどうかを尋ねています。 – Chris