Hi I have a single file with multiple(~400) Insert statements like this and I need to split this to multiple files having one insert statement in each of those files. I am guessing it can be done using powershell effectively.
PRINT N' Populating aud.DT'
GO
-- Insert into DT for Sanity
TRUNCATE TABLE aud.DT;
SET IDENTITY_INSERT aud.DT ON;
insert into aud.DT (Key,TableName,Description,SQL,Enabled,SingleRowTest)
values (1,'dm.FCA','Desc1',
'select count(*) cnt
from @SourceDB.dm.FCA cp
where cp.ProductionAmount > 0 and cp.ind = 0
AND cp.PMK BETWEEN CONVERT(VARCHAR(6), DATEADD(month, -2, GETUTCDATE()), 112)
AND CONVERT(VARCHAR(6), GETUTCDATE(), 112)',1,0);
insert into aud.DT (Key,TableName,Description,SQL,Enabled,SingleRowTest)
values (2,'dm.FCA','Desc2',
'select count(*) cnt
FROM @SourceDB.dm.FCA cp
JOIN @SourceDB.dm.DimSubsidiary ds ON cp.key = ds.key
WHERE (ds.SubsidiaryCode = ''NK'')
and PMK BETWEEN CONVERT(VARCHAR(6), DATEADD(month, -2, GETUTCDATE()), 112)
AND CONVERT(VARCHAR(6), GETUTCDATE(), 112)',1,0);
insert into aud.DT (Key,TableName,Description,SQL,Enabled,SingleRowTest)
values (3,' dm.FCR','Desc3',
from @SourceDB.dm.FCR cp
'select count(*) cnt
inner join @SourceDB.ref.ask a on cp.key = a.key
inner join @SourceDB.ref.clk c on cp.clk = c.clk
where a.asi >= 300 and a.asi <= 399
and c.cli > 200 and cp.pi = 0
AND cp.PMK BETWEEN (CONVERT(VARCHAR(6), DATEADD(month, -2, GETUTCDATE()), 112))
AND CONVERT(VARCHAR(6), GETUTCDATE(), 112) ',1,0);
Also the file names need to be Test_[Key]_[Tablename.sql] like Test_0001_FCA.sql,Test_0010_FCR.sql where [Key] is the value inserting into the aud.DT table