在线等待,是什么导致了这种异常,向高手求教!!

MarKing007 2005-01-20 05:02:37
我循环从表一中读取每一条记录,然后稍做处理,插入另外的一个表。
下面是“消息”:(中间发生了一个错误!)Why??



(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)

服务器: 消息 8152,级别 16,状态 9,行 22
将截断字符串或二进制数据。
语句已终止。

(所影响的行数为 1 行)


(所影响的行数为 1 行)
...全文
83 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
MarKing007 2005-01-21
  • 打赏
  • 举报
回复
哈哈 进入一个小类 上面有“提问”
ZJS_88 2005-01-20
  • 打赏
  • 举报
回复
初来咋到
怎么发贴
郁闷
ZJS_88 2005-01-20
  • 打赏
  • 举报
回复
为什么不插入表testerror
请高手指教
ZJS_88 2005-01-20
  • 打赏
  • 举报
回复
CREATE TABLE [dbo].[test] (
[id] [int] NOT NULL ,
[name] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[testerror] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[currentdate] [datetime] NULL ,
[hostname] [varchar] (128) COLLATE Chinese_PRC_CI_AS NULL ,
[loginame] [varchar] (128) COLLATE Chinese_PRC_CI_AS NULL ,
[message] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[test] WITH NOCHECK ADD
CONSTRAINT [pk_test] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[testerror] WITH NOCHECK ADD
CONSTRAINT [pk_testerror] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
GO


CREATE TRIGGER tr_test ON dbo.test
FOR UPDATE
AS
DECLARE @name VARCHAR(40),@name_d VARCHAR(40),@msg varchar(8000)

SELECT @name = ISNULL(name,'') FROM INSERTED
SELECT @name_d = ISNULL(name,'') FROM DELETED


IF UPDATE(ID) OR UPDATE(name)

IF (LTRIM(RTRIM(@name)) <> LTRIM(RTRIM(@name_d)))
BEGIN
rollback transaction

BEGIN TRANSACTION t2

INSERT dbo.testerror (currentdate,hostname,loginame,message) SELECT getdate (),'11','11',@msg

COMMIT TRANSACTION t2

select @msg = 'KK'

RAISERROR( @msg,16,1)

END

GO
INSERT test VALUES (1,1)

GO


--UPDATE test SET name = 'a' WHERE id = 1
--GO
MarKing007 2005-01-20
  • 打赏
  • 举报
回复
太感谢了!!的确是我粗心,该罚!我之前一直是看的另外一个版本的表设计结构,实际运行程序的不同!55555555555555~~~~~~~~~~~!
MarKing007 2005-01-20
  • 打赏
  • 举报
回复
我再仔细观察一下。。。谢谢两位!
liumangrabbit 2005-01-20
  • 打赏
  • 举报
回复
楼上说得没错,你的源表中的某个字段长度大于你的目标表中对应的字段,所以出现上面的错误,修改对应字段的长度,
建议你:如果两个表中保存一致的数据,最好保持两个表的字段类型一致,以免将来出报表的时候有问题。
MarKing007 2005-01-20
  • 打赏
  • 举报
回复
waiting....
MarKing007 2005-01-20
  • 打赏
  • 举报
回复
我插入的那个字串是固定的。??为什么其它的不出错??5555~~~~~~~~~~~~~~~
Softlee81307 2005-01-20
  • 打赏
  • 举报
回复
有一個字符串超長 把要insert表的那個字段加長

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧