我在查询分析器里用
exec sp_addlinkedserver 'sss','','SQLOLEDB','211.xxx.172.xxx'   
exec sp_addlinkedsrvlogin 'sss','false',null,'sdf','dfersa' 
建立了一个链接服务器然后我在一个表上建立了一个Update触发器,用来监测这个表的数据更新的时候同步复制到另外一台机器的服务器上。
ALTER TRIGGER [TRIGGER_InsertGG] ON [dbo].[SchoolPlans] 
FOR INSERT,UPDATE, DELETE 
AS
DECLARE @IsInsert bit,@IsUpdate bit,@IsDelete bit
/*insert*/
IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted)
    SET @IsInsert = 1
ELSE
    SET @IsInsert = 0
/*update*/
IF EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
    SET @IsUpdate = 1
ELSE
    SET @IsUpdate = 0
/*delete*/
IF NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
    SET @IsDelete = 1
ELSE
    SET @IsDelete = 0 
IF @IsUpdate=1
   BEGIN/*UPDATE远程公告表*/
   exec('Update sss.ssjszp_db.dbo.SchoolPlans SET stationchar=inserted.stationchar,station=inserted.station, specialty=inserted.specialty,plans=inserted.plans,require=inserted.require,IsJytEAA=inserted.IsJytEAA,
          JytEAATime=inserted.JytEAATime,IsEAA=inserted.IsEAA,EAATime=inserted.EAATime where [stationID]=inserted.stationID and SchoolID=inserted.SchoolID') 
   END但是在运行的时候提示下面的错误。
请问怎么解决。
多谢!!!!

解决方案 »

  1.   

    不在触发器里这个语句能执行成功?Update sss.ssjszp_db.dbo.SchoolPlans SET stationchar=inserted.stationchar,station=inserted.station, specialty=inserted.specialty,plans=inserted.plans,require=inserted.require,IsJytEAA=inserted.IsJytEAA,
              JytEAATime=inserted.JytEAATime,IsEAA=inserted.IsEAA,EAATime=inserted.EAATime where [stationID]=inserted.stationID and SchoolID=inserted.SchoolID