☆☆☆求助!!!触发器异常,跨数据库插入数据时出现异常☆☆☆
CREATE   TRIGGER   TR_INSERT   ON   Asean_Member 
 FOR   INSERT 
 AS 
 DECLARE   @UserName         varchar(50) 
 DECLARE   @UserPasswd   varchar(50) 
 SELECT   @UserName=M_userid,@UserPasswd=M_Password   FROM   inserted 
 INSERT   INTO   A   (UserName,UserPassword)VALUES(@UserName,@UserPasswd) 
 查询插入的记录,读出用户名和密码然后插入数据到同一个数据库的A表,这个没问题     
 CREATE   TRIGGER   TR_INSERT   ON   Asean_Member 
 FOR   INSERT 
 AS 
 DECLARE   @UserName         varchar(50) 
 DECLARE   @UserPasswd   varchar(50) 
 SELECT   @UserName=M_userid,@UserPasswd=M_Password   FROM   inserted 
 INSERT   INTO   X.dbo.A   (UserName,UserPassword)VALUES(@UserName,@UserPasswd) 
 查询插入的记录,读出用户名和密码然后插入数据到同X数据库的A表,这个出现问题,页面在执行插入操作以后提示插入成功,但是实际上数据并未插入数据库,而且A表中也没有相应的用户名和密码
------解决方案--------------------在查询分析器里执行下面语句记录会插入成功吗?   
 INSERT INTO X.dbo.A (UserName,UserPassword) 
 VALUES( 'user1 ', 'password1 ')   
 还有,你insert触发器的取记录的方法如果多条的话就会有问题.
------解决方案----------------------修改成这样. 
 CREATE TRIGGER TR_INSERT ON Asean_Member 
 FOR INSERT 
 AS 
 INSERT INTO X.dbo.A (UserName,UserPassword) 
 SELECT M_useridM_Password FROM inserted
------解决方案--------------------alter TRIGGER TR_INSERT ON Asean_Member 
 FOR INSERT 
 AS 
 /* 
 DECLARE @UserName   varchar(50) 
 DECLARE @UserPasswd varchar(50) 
 SELECT @UserName=M_userid,@UserPasswd=M_Password FROM inserted 
 */ 
 INSERT INTO X.dbo.A (UserName,UserPassword)VALUES( 'user111 ', 'password111 ')   
 把触发器修改成上面这样,页面在执行插入操作后看X.dbo.A中有没有user111这条记录. 
 不成功是不是X.dbo.A有主键重复或其它约束啊?     
  icoding(我编码我存在) ( ) 信誉:100    Blog   加为好友  2007-04-16 16:09:44  得分: 0      
    还有,你insert触发器的取记录的方法如果多条的话就会有问题. 
 --------------- 
 我理解是每插入一条,inserted产生一条对应的数据,应该始终是一条记录吧?        
 ----------------------- 
 不一定. 
 这要看你前台是发出什么样的插入语句决定,有可能为多条.