我想为我的一个表写一个触发器,它有一个ntext datatype字段,正如你所知道的,触发器不能为ntext datatype写。现在我想用nvarchar数据类型替换ntext。The ntext的最大长度为2,147,483,647个字符,而nvarchar(max)的最大长度为4000个字符。我可以使用什么数据类型来代替ntext数据类型。或者,当我有ntext数据类型时,有什么方法可以编写触发器吗?更好的说法是,我的数据库是在使用SQL2000之前设计的,它充满了数据。
发布于 2011-05-13 07:40:47
您使用sql server 2000可能不太走运,但是您可以将一堆nvarchar(4000)变量链接在一起。这是一个技巧,但它可能是你唯一的选择。我还会对您的数据进行评估,并查看您在该列中实际拥有的最大数据。很多时候,列是在预期大型数据集的情况下创建的,但最终并没有这些数据集。
发布于 2014-01-30 18:31:09
在MSDN中,我看到了这一点: Microsoft SQL Server的未来版本中将删除*重要* ntext、text和image数据类型。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用nvarchar(max)、varchar(max)和varbinary(max)。
用于存储大型非Unicode和Unicode字符和二进制数据的固定和可变长度数据类型。Unicode数据使用UNICODE UCS-2字符集。
并且它最好是nvarchar(MAX),你可以看到下面的详细信息:
nvarchar (n| max )可变长度Unicode字符串数据。N定义字符串长度,可以是1到4,000之间的值。max表示最大存储大小为2^31-1字节(2 GB)。以字节为单位的存储大小是输入数据实际长度的两倍+2个字节。nvarchar的ISO同义词是国家字符变化和国家字符变化。
https://stackoverflow.com/questions/5983577
复制相似问题