Я запускаю ежемесячный процесс, который требует, чтобы я взял таблицу с 4-5 миллионами записей и разделил ее на .txt-файлы по 240 000 записей каждый. Я использую этот код в SQL Server 2012 для создания подкачки файла, а затем использую пакет SSIS для запуска этой хранимой процедуры и создания файла .txt. Я изменяю @PageNumber на 2, перекомпилирует хранимую процедуру, запустил пакет SSIS. Увеличьте значение @PageNumber до 3 и так далее, пока у меня не закончится запись, которая на 4 миллиона записей занимает около 20x.Использование SSIS для экспорта нескольких текстовых файлов в SQL Server
Мне было интересно, если кто-нибудь знает способ прокрутки кода и создания нескольких файлов .txt за один проход без изменения значения @PageNumber 20x?
CREATE PROCEDURE [dbo].[p_ExportAllDMCSBorrowersPaging]
AS
BEGIN
DECLARE @PageNumber AS INT, @RowspPage AS INT
SET @PageNumber = 1
SET @RowspPage = 240000
SELECT [SSN]
,[DOB]
,[LastName]
,[FirstName]
,[CustomerRecordID]
,[ADDate]
,[MiddleName] FROM (
SELECT ROW_NUMBER() OVER(ORDER BY ID) AS NUMBER,
[SSN]
,[DOB]
,[LastName]
,[FirstName]
,[CustomerRecordID]
,[ADDate]
,[MiddleName]
FROM [dbo].[All Borrowers 20160919]
) AS TBL
WHERE
NUMBER BETWEEN ((@PageNumber - 1) * @RowspPage + 1) AND (@PageNumber * @RowspPage)
ORDER BY
NUMBER