create PROCEDURE UpdateDB2UsersAS--定义游标变量Declare myCursor cursor For select [ID],changetype,changetime from OPENQUERY (db2 ,'select * from db2inst1.userinfo') where changetime>(select max(changetime) as locallast from userinfo)open myCursor --定义变量declare @ID intdeclare @changetype varchar(50)declare @changetime varchar(50)--循环记录集Fetch next From myCursor into @ID,@changetype,@changetime While @@FETCH_STATUS =0 begin --处理单条记录 IF (ltrim(rtrim(@changetype))='add' )BEGINIf EXISTS(select [id] from userinfo where [id]=@ID)begindelete from userinfo where [id]=@ID--SET IDENTITY_INSERT WebData.dbo.USERINFO ONinsert into userinfo select * from OPENQUERY (db2 ,'select * from db2inst1.userinfo') where [ID]=@IDendelsebegininsert into userinfo select * from OPENQUERY (db2 ,'select * from db2inst1.userinfo') where [ID]=@ID--更新到user表insert into users(USERNAME,mobile,upassword,chinaname,uid,CuCompanyNumber,DepartmentNumber,comefrom,usertype)select rtrim(UID),rtrim(mobile),rtrim(UID),rtrim(cn),rtrim(UID),rtrim(CuCompanyNumber),rtrim(DepartmentNumber),1,7 from userinfo where [ID]=@IDendENDELSE IF(ltrim(rtrim(@changetype))='modify')begindelete from userinfo where [id]=@ID--SET IDENTITY_INSERT WebData.dbo.USERINFO ONinsert into userinfo select * from OPENQUERY (db2 ,'select * from db2inst1.userinfo') where [ID]=@IDendFetch next From myCursor into @ID,@changetype,@changetime end Close myCursor Deallocate myCursor
如果你没有安装运行时客户端或者客户端是找不到IBM DB2 ODBC DRIVER 的。