CREATE PROCEDURE [dbo].[PROC_User] AS BEGIN DECLARE @LastDate DATETIME SELECT @LastDate=MAX(stime) FROM user2 BEGIN TRANSACTION --事务开始 BEGIN TRY --sql try SELECT * INTO #Temp_User FROM ( SELECT age, name, sex FROM User1 WHERE @LastDate IS NULL OR stime>@LastDate )T INSERT INTO user2 ( age, name, sex ) SELECT age, name, sex FROM #Temp_User t DROP TABLE #Temp_User COMMIT TRANSACTION --执行结束保存数据库 END TRY BEGIN CATCH ---sql catch ROLLBACK TRANSACTION ---数据回滚 END CATCH END GO
上面这段代码 是可以是从视图 或者表中 定时同步数据,表中需要有时间进行判读。使用时 可以挂到数据库的作业上 定时执行