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. |