possibly spurious `EXCEPT ... may not refer to other relation...'
От | Brandon Craig Rhodes |
---|---|
Тема | possibly spurious `EXCEPT ... may not refer to other relation...' |
Дата | |
Msg-id | w64r6y35qi.fsf@guinness.ts.gatech.edu обсуждение исходный текст |
Ответы |
Re: possibly spurious `EXCEPT ... may not refer to other relation...'
|
Список | pgsql-hackers |
The current CVS version of PostgreSQL gives us the error: ERROR: UNION/INTERSECT/EXCEPT member statement may not refer to other relations of same query level when given the following test case, despite the fact that the EXCEPT clause does not refer to any other relation involved in the same query. We suspect this to be a bug. (This simple test case has been drastically reduced from the actual code we want to run, which is a more complicated INSERT INTO SELECT ... EXCEPT whose goal is to avoid inserting rows that are already in the destination table; so whereas here the except clause involves a third, dummy table, we would actually like to check for whether the row exists in the table which is the target of the INSERT.) CREATE TABLE current ( number INTEGER ); CREATE TABLE former ( number INTEGER ); CREATE TABLE trash ( number INTEGER) ; CREATE OR REPLACE RULE current_delete AS ON DELETE TO current DO INSERT INTO former (number)SELECT number FROM current WHERE number = OLD.numberEXCEPT SELECT number FROM trash; -- Brandon Craig Rhodes http://www.rhodesmill.org/brandon Georgia Tech brandon@oit.gatech.edu
В списке pgsql-hackers по дате отправления: