BEGIN
DECLARE @QUERY VARCHAR(MAX)=''
DECLARE @TARGETTABLENAME VARCHAR(MAX)='TABLENAME'
DECLARE @SOURCETABLENAME VARCHAR(MAX)='TABLENAME'
DECLARE @TARGETSERVER VARCHAR(MAX)='[SQL\SQLEXPRESS]'
DECLARE @SOURCESERVER VARCHAR(MAX)='[SQL\SQLEXPRESS]'
DECLARE @TARGETDB VARCHAR(MAX)='DBNAME'
DECLARE @SOURCEDB VARCHAR(MAX)='DBNAME1'
Declare @Var nvarchar(MAX)
DECLARE @RES VARCHAR(MAX)=''
Set @Var =@TARGETTABLENAME
DECLARE @XML AS XML
DECLARE @Delimiter AS CHAR(1) =','
SET @XML = CAST(('<X>'+REPLACE(@Var,@Delimiter ,'</X><X>')+'</X>') AS XML)
DECLARE @temp TABLE (TABNAME VARCHAR(max))
INSERT INTO @temp
SELECT N.value('.', 'VARCHAR(max)') AS ID FROM @XML.nodes('X') AS T(N)
DECLARE cur CURSOR FOR
SELECT * FROM @temp
OPEN cur
FETCH NEXT FROM cur INTO @RES
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @QUERY ='BEGIN ' +CHAR(10) +CHAR(9) +'--EXECUTE TABLENAME ' +@RES + CHAR(10) + CHAR(9) + 'SET IDENTITY_INSERT '+ @TARGETSERVER + '.' + @TARGETDB + '.' + @RES + ' ON ' +
CHAR(10) + CHAR(9) + 'INSERT INTO ' + @TARGETSERVER + '.' + @TARGETDB + '.' + @RES +
CHAR(10) + CHAR(9) + 'SELECT * FROM ' + @SOURCESERVER + '.' + @SOURCEDB + '.' + @RES + CHAR(10) + CHAR(9)+
'SET IDENTITY_INSERT '+ @TARGETSERVER + '.' + @TARGETDB + '.' + @RES + ' OFF '+ CHAR(10) + 'END'
PRINT @QUERY
--EXECUTE(@QUERY)
FETCH NEXT FROM cur INTO @RES
END
END
DECLARE @QUERY VARCHAR(MAX)=''
DECLARE @TARGETTABLENAME VARCHAR(MAX)='TABLENAME'
DECLARE @SOURCETABLENAME VARCHAR(MAX)='TABLENAME'
DECLARE @TARGETSERVER VARCHAR(MAX)='[SQL\SQLEXPRESS]'
DECLARE @SOURCESERVER VARCHAR(MAX)='[SQL\SQLEXPRESS]'
DECLARE @TARGETDB VARCHAR(MAX)='DBNAME'
DECLARE @SOURCEDB VARCHAR(MAX)='DBNAME1'
Declare @Var nvarchar(MAX)
DECLARE @RES VARCHAR(MAX)=''
Set @Var =@TARGETTABLENAME
DECLARE @XML AS XML
DECLARE @Delimiter AS CHAR(1) =','
SET @XML = CAST(('<X>'+REPLACE(@Var,@Delimiter ,'</X><X>')+'</X>') AS XML)
DECLARE @temp TABLE (TABNAME VARCHAR(max))
INSERT INTO @temp
SELECT N.value('.', 'VARCHAR(max)') AS ID FROM @XML.nodes('X') AS T(N)
DECLARE cur CURSOR FOR
SELECT * FROM @temp
OPEN cur
FETCH NEXT FROM cur INTO @RES
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @QUERY ='BEGIN ' +CHAR(10) +CHAR(9) +'--EXECUTE TABLENAME ' +@RES + CHAR(10) + CHAR(9) + 'SET IDENTITY_INSERT '+ @TARGETSERVER + '.' + @TARGETDB + '.' + @RES + ' ON ' +
CHAR(10) + CHAR(9) + 'INSERT INTO ' + @TARGETSERVER + '.' + @TARGETDB + '.' + @RES +
CHAR(10) + CHAR(9) + 'SELECT * FROM ' + @SOURCESERVER + '.' + @SOURCEDB + '.' + @RES + CHAR(10) + CHAR(9)+
'SET IDENTITY_INSERT '+ @TARGETSERVER + '.' + @TARGETDB + '.' + @RES + ' OFF '+ CHAR(10) + 'END'
PRINT @QUERY
--EXECUTE(@QUERY)
FETCH NEXT FROM cur INTO @RES
END
END
No comments:
Post a Comment