CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

触发器不能正常插入数据,请高手指点!

楼主sunzz()2006-03-04 15:17:41 在 MS-SQL Server / 疑难问题 提问

我做了一个触发器,想在A表更新某个字段时在B表中插入一条对应的记录,B表中新插入的记录的ID字段和A表中刚更新的记录的ID字段相同。代码如下:  
  CREATE   TRIGGER   aaa_Change     ON   A  
  FOR   UPDATE  
  AS  
  IF   UPDATE   (No)  
  BEGIN  
      DECLARE   @myID   as   VARCHAR  
      SELECT   @myID   =   ID   FROM   inserted  
   
      insert  
      into   B(ID)  
      values   (@myID)  
  END  
  但运行结果却有问题:A表中ID字段若是0001,B表中ID字段就是0;A表中ID字段若是MA32,B表中ID字段就是M,似乎只取出A表中ID的第一个字符,我也查过数据库,A表和B表的ID字段的设计是一样的,不知道是什么原因,请各位大侠指点! 问题点数:10、回复次数:3Top

1 楼wgsasd311(自强不息)回复于 2006-03-04 15:24:31 得分 3

--try  
  CREATE   TRIGGER   aaa_Change     ON   A  
  FOR   UPDATE  
  AS  
  IF   UPDATE   (No)  
  BEGIN  
      DECLARE   @myID   as   VARCHAR(100)  
      SELECT   @myID   =   ID   FROM   inserted  
   
      insert  
      into   B(ID)  
      values   (@myID)  
  ENDTop

2 楼netfly(支点)回复于 2006-03-04 15:26:09 得分 3

DECLARE   @myID   as   VARCHAR(20)-----------和A表的ID长度一样试试Top

3 楼xeqtr1982(Visual C# .NET)回复于 2006-03-04 15:27:19 得分 4

楼上大虾正解,没有声明变量长度,导致长度不够Top

相关问题

  • 高分提问,关于触发器,修改触发器表的插入数据...
  • 关于触发器中插入数据的问题!
  • 如何是插入的数据不被触发器更改?
  • 求一插入触发器!!!
  • 求一插入触发器
  • 插入触发器问题
  • 触发器插入问题
  • 插入了多行数据,触发器中怎样判断?谢谢了!
  • 请问在触发器中如何判断一次插入了多条数据
  • 插入数据时的触发器,请大侠帮帮忙!!!高分请教!!!!

关键词

  • 字段
  • myid
  • 插入
  • 长度
  • insert
  • as varchar

得分解答快速导航

  • 帖主:sunzz
  • wgsasd311
  • netfly
  • xeqtr1982

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo