Hej,
Chce napisac query które aktualizuje mi widok i 'połączy' ok 700 table. Wymyśliłem że połącze je poprzez UNION w jednym zapytaniu w pętli. Niestety jest ono tak długie że nie mieście się w zmiennej, maksymalny rozmiar zmiennej lokalnej to 4000 znaków, to zdecydowanei za mało. Nie mam pomysłów jak to rozwiązać.
DECLARE @StartDate AS DATETIME
DECLARE @EndDate AS DATETIME
DECLARE @CurrentDate AS DATETIME
DECLARE @tableName varchar(60)
DECLARE @tempName varchar(60)
DECLARE @query varchar(max)
SET @StartDate = '2018-01-01'
SET @EndDate = GETDATE()
SET @CurrentDate = @StartDate
SET @query = 'ALTER VIEW [HydAdmTnt] AS
SELECT *
FROM [tnt_0000002016100123]'
WHILE (@CurrentDate < @EndDate)
BEGIN
SET @tableName = '[tnt_000000'
SET @tempName = REPLACE(CONVERT(VARCHAR(24),@CurrentDate,102),'.','');
SET @tableName = @tableName + @tempName+'23]';
SET @query = @query +
' UNION
SELECT *
FROM '+ @tableName
SET @CurrentDate = convert(varchar(30), dateadd(day,1, @CurrentDate), 101);
END