--在进行转换时,先要判断DISC_MAIN中是否存在已转纪录,如果有就只是修改记录的某些字段,如果没有就是新增一条记录 
  BEGIN TRY
        BEGIN TRAN PK_SEQ_JL_TEXT --引用事务加排它锁防止出现主子表同步生成记录
             if @DISC_ID is null -- 不存在已转纪录   
  	             BEGIN
  	                     -- 新增纪录生成DISC_ID
                             EXEC S139.PUBDB.DBO.GET_GUID @DISC_ID OUTPUT;
                             INSERT INTO TRAN_DP_C..PK_SEQ_JL_TEXT(Y_OB_TEXTID,DISC_ID,DTITLE,DDECLAREDATE)
  	         	  		  SELECT @Y_OB_TEXTID_0042,@DISC_ID,@TITLE,@DECLAREDATE
  	             END 
            
            
             else 
                  begin
                    
                           if   @DISC_ID is not null  and  (@KEYIN is not null or @EDITNAME is not null or @COMMITNAME is not null)    and  @ISVALID=0
  	         			  begin
                                return   --- 1  人工编辑过,目的表无效,则不转入 
                             end   
                	
  	           		      INSERT INTO TRAN_DP_C..PK_SEQ_JL_TEXT(Y_OB_TEXTID,DISC_ID,DTITLE,DDECLAREDATE)
  	         	  		  SELECT @Y_OB_TEXTID_0042,@DISC_ID,@TITLE,@DECLAREDATE	           
                  end 
        COMMIT TRAN PK_SEQ_JL_TEXT  --事务提交,解锁  
	END TRY
    BEGIN CATCH
        SET @ERR_MSG=ERROR_MESSAGE()
        ROLLBACK TRAN PK_SEQ_JL_TEXT --出错后回滚事务,解锁
        RAISERROR(@ERR_MSG,16,1)
    END CATCH   
原文:https://www.cnblogs.com/gina11/p/13767898.html