BUG: Outer Join VIEW with UNION ALL May Fail with AVLast reviewed: April 15, 1997Article ID: Q166632 |
The information in this article applies to:
SYMPTOMSA query may fail with an exception access violation (AV) when you do an OUTER JOIN to a VIEW that was created with the UNION ALL operator. On the client side, the application will receive the following error:
DB-Library Process Dead - Connection BrokenThe following script demonstrates the problem:
CREATE TABLE dog
(
id int
)
GO
CREATE TABLE cat
(
id int
)
GO
CREATE TABLE fish
(
id int
)
GO
CREATE VIEW pet AS
SELECT id
FROM dog
UNION ALL
SELECT id
FROM cat
GO
SELECT p.id
FROM pet p, fish f
WHERE p.id *= f.id
GO
WORKAROUNDTo work around this problem, you can create a temporary table to hold the result set from the UNION ALL operator. The following script demonstrates the workaround for the above scenario:
SELECT id INTO #pet FROM dog UNION ALL SELECT id FROM cat GO SELECT p.id FROM #pet p, fish f WHERE p.id *= f.id GO STATUSMicrosoft has confirmed this to be a problem in Microsoft SQL Server version 6.5. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. |
Keywords : kbbug6.50 kbusage SSrvTran_SQL
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |