我必須編寫一個測試,要求將大量數據存儲在文本列中。如何使用REPLICATE()在SQL Server文本列中插入多於8k的?
當我嘗試這個(插件2個十億X字符):
INSERT INTO table VALUES (REPLICATE('X', 2000000000))
這就是我得到:
SELECT *, DATALENGTH(textCol) FROM table
XXXXXXXXXXXXX .... 8000
我希望超過8000.任何想法,我哪裏出錯了?我的google-fu讓我失望。
警告:是的,不推薦使用文本列。我確信有很多非常有效和合理的理由,爲什麼要將它們用作批量數據存儲是一個壞主意。假設我正在處理一個遺留系統,該系統正好具有存儲大量批量數據的文本列,並且我必須編寫測試以確定我的第三方代碼是如何處理這些問題的。
動機爲他的建議(http://msdn.microsoft.com/en-us/library/ms187993 .aspx):未來版本的Microsoft SQL Server將刪除「** ntext **,** text **和** image **數據類型。避免在新開發工作中使用這些數據類型,並計劃修改當前使用它們的應用程序,而不是使用nvarchar(max),varchar(max)和varbinary(max)。「 – MaD70 2009-11-10 17:00:16