Конечно, транзакции могут быть проблемой из-за грязного чтения, я не знаю, является ли это проблемой в этом случае ...
я есть запрос, который содержит серию из 21UNIONs
Например:
CREATE VIEW dbo.USGovCurrencyOnHandBreakdown AS
SELECT ... FROM a
UNION ALL
SELECT ... FROM b
UNION ALL
SELECT ... FROM c
UNION ALL
SELECT ... FROM d
...
UNION ALL
SELECT ... FROM u
Запрос работает нормально, когда выполняется один. Но когда запрос выполняется через содержащее представление:
SELECT * FROM USGovCurrencyOnHandBreakdown
Msg 4414, Level 16, State 1, Line 1
Could not allocate ancillary table for view or function resolution. The maximum number of tables in a query (260) was exceeded.
я пытался разделить мойUSGovFedExpentiures
смотреть на более мелкие куски:
CREATE VIEW dbo.USGovCurrencyOnHandBreakdown AS
SELECT x FROM TreasuryAuditResults
UNION ALL
SELECT x FROM USGovCurrencyOnHandBreakdown_Additions
UNION ALL
SELECT x FROM USGovCurrencyOnHandBreakdown_Subtractions
С участиемUSGovCurrencyOnHandBreakdown_Additions
а такжеUSGovCurrencyOnHandBreakdown_Subtractions
каждый из которых содержит примерно половину запросов:
CREATE VIEW USGovCurrencyOnHandBreakdown_Additions AS
SELECT ... FROM b
UNION ALL
SELECT ... FROM c
...
SELECT ... FROM k
CREATE VIEW USGovCurrencyOnHandBreakdown_Subtractions AS
SELECT ... FROM l
UNION ALL
SELECT ... FROM m
...
SELECT ... FROM u
Но выбирая изродитель"просмотр по-прежнему не удается:
SELECT * FROM USGovCurrencyOnHandBreakdown
Msg 4414, Level 16, State 1, Line 1
Could not allocate ancillary table for view or function resolution. The maximum number of tables in a query (260) was exceeded.
Как я могу обойти ограничение таблицы 256?
Смотрите такжеИСПРАВЛЕНИЕ: запрос Transact-SQL, использующий представления, может неожиданно завершиться с ошибкой в SQL Server 2000 с пакетом обновления 3 (SP3)MSDN: спецификации максимальной емкости для SQL Server