Wednesday, 6 June 2018

Multiple Table Insert Query To Another Target Server Database Table In Sql Server


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

Comma Separted Value To Temp Table In Sql Server

DECLARE @Var nvarchar(MAX)

Set @Var ='TABLENAME,TAB'
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)





SELECT * FROM @temp

Sql server drop all foreign key constraints on a table

while(exists(select 1 from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where CONSTRAINT_TYPE='FOREIGN KEY'))
BEGIN
declare @sql nvarchar(2000)
SELECT TOP 1 @sql=('ALTER TABLE ' + TABLE_SCHEMA + '.[' + TABLE_NAME
+ '] DROP CONSTRAINT [' + CONSTRAINT_NAME + ']')
FROM information_schema.table_constraints
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY'
exec (@sql)




end