Sql server 无法识别SQL Server 2005 Alter table列

Sql server 无法识别SQL Server 2005 Alter table列,sql-server,sql-server-2005,Sql Server,Sql Server 2005,这在SQL Server 2005中的复制表上 我使用了以下命令: ALter table dbo.apds alter column docket nvarchar(12) null 它执行时没有错误,一切看起来都很干净 publisher说,columnspec显示它现在在两个表上都有12个(以前设置为6) 和订户 但当我尝试在该列中输入超过6个字符时,我得到了错误: Msg 8152 lefel 16,状态13,程序trgapdsupdate,第5行 字符串或二进制数据将被截断 我仍然只

这在SQL Server 2005中的复制表上

我使用了以下命令:

ALter table dbo.apds alter column docket nvarchar(12) null
它执行时没有错误,一切看起来都很干净

publisher说,columnspec显示它现在在两个表上都有12个(以前设置为6) 和订户

但当我尝试在该列中输入超过6个字符时,我得到了错误:

Msg 8152 lefel 16,状态13,程序trgapdsupdate,第5行
字符串或二进制数据将被截断

我仍然只能向该列写入6个字符的数据,即使它显示12个字符作为 柱规格

有什么想法吗

提前谢谢你。

你说

我得到错误:msg 8152 lefel 16,状态13,程序trgapdsupdate, 第5行字符串或二进制数据将被截断。该声明已经发布 被终止

那么什么是
trgapdsupdate

从名称上看,它看起来像是表
apds
上的更新触发器


是否需要更新以处理新的列值?例如,写入需要更新其定义的审核表。

旧列数据类型是什么?和。您的新列数据类型是什么?(即)在Alter Table列之后。请您检查一下您的表格,并准确地说明一下,只要试着根据您修改过的表格结构创建表格就行了。保持新桌子的吸引力。然后将alter table值导出到TENTRABLE并查看值。旧列类型为nvarchar(6)新列类型为nvarchar(12)我正在尝试将数据放入其中,如1037-13,我可以输入103713,但不能输入10372013或1037-13。trgapdsupdate中是否有一个参数或变量也需要更改其大小?trgapdsupdate来自一个更新,我试图认为我的访问权限可能无法识别该更改,所以我去了mgmnt studio,尝试更新一个超过6个字符的记录。这只是我为解决问题而做的一些事情。@user3014234-如果您在SSMS GUI中尝试此更新,并收到错误消息,则肯定是来自表上的触发器。在ManagementStudio对象资源管理器中,展开表并查看触发器。Mr。Smith,你可能告诉我,我只是想完全理解,但你的问题让我认为这个表是我们所做的一些事务跟踪的一部分,我没有扩展表列规范,一旦我这样做了,我们就可以开始了。非常感谢,你已经解决了这个问题。。