i have a query that contains a series of 21 UNIONs
, e.g.:
CREATE VIEW dbo.USGovCurrencyOnHandBreakdown AS
SELECT ... FROM a
UNION ALL
SELE
A colleague came up with a great answer. Use a function to return a table variable; insert the results into the table variable bit by bit:
CREATE VIEW dbo.USGovCurrencyOnHandBreakdown AS
SELECT * FROM fn_USGovCurrencyOnHandBreakdown()
with the view now calling the UDF:
CREATE FUNCTION dbo.fn_USGovCurrencyOnHandBreakdown()
RETURNS @Results TABLE
(
Total money,
...
)
INSERT INTO @Results SELECT ... FROM a
INSERT INTO @Results SELECT ... FROM b
INSERT INTO @Results SELECT ... FROM c
INSERT INTO @Results SELECT ... FROM d
...
INSERT INTO @Results SELECT ... FROM u
RETURN
END
As far as any clients know the view
is unchanged. (Except now it works!)