Re: How to compare the results of two queries? - Mailing list pgsql-general

From Juan Daniel Santana Rodés
Subject Re: How to compare the results of two queries?
Date
Msg-id 5238886E.90100@estudiantes.uci.cu
Whole thread Raw
In response to Re: How to compare the results of two queries?  (Igor Neyman <ineyman@perceptron.com>)
Responses Re: How to compare the results of two queries?  (Igor Neyman <ineyman@perceptron.com>)
List pgsql-general
El 17/09/13 12:02, Igor Neyman escribió:
>
>> -----Original Message-----
>> From: Juan Daniel Santana Rodés [mailto:jdsantana@estudiantes.uci.cu]
>> Sent: Tuesday, September 17, 2013 11:54 AM
>> To: Igor Neyman
>> Subject: Re: [GENERAL] How to compare the results of two queries?
>>
>> El 17/09/13 11:27, Igor Neyman escribió:
>>> create or replace function compare(sql1 character varying, sql2
>>> character  varying) returns boolean as $body$ Declare lCount int := 0;
>>> Begin
>>>
>>> EXECUTE 'SELECT COUNT(Res.*) FROM (  (' || sql1 || ' EXCEPT ' || sql2
>>> || ') UNION (' || sql2 || ' EXCEPT ' || sql1 || ') ) Res' INTO lCount; IF (lCount
>> = 0)
>>>     RETURN TRUE;
>>> ELSE
>>>     RETURN FALSE;
>>> END IF;
>>>
>>> End;
>>> $body$ language 'plpgsql';
>> Hi, thank for your help...
>> I'm trying to execute your code but, when I run the the sentence, it throw a
>> exception.
>> For example, I run this line...
>>
>> select compare('select * from point limit 2', 'select * from point');
>>
>> And, postgres throw the follow exceptio...
>>
>> ERROR:  syntax error at or near "EXCEPT"
>> LINE 1: ...COUNT(Res.*) FROM (  (select * from point limit 2 EXCEPT sel...
>>                                                                ^
>> QUERY:  SELECT COUNT(Res.*) FROM (  (select * from point limit 2 EXCEPT
>> select * from point) UNION (select * from point EXCEPT select * from point
>> limit 2) ) Res
>> CONTEXT:  PL/pgSQL function "compare" line 5 at EXECUTE statement
>>
>> ********** Error **********
>>
>> ERROR: syntax error at or near "EXCEPT"
>> Estado SQL:42601
>> Contexto:PL/pgSQL function "compare" line 5 at EXECUTE statement
>>
> "limit 2" does not work with "EXCEPT".
>
> In the future reply to the list ("Reply All") in order to keep the list in the conversation.
>
> Regards,
> Igor Neyman
>
I want to know if there are other way to compare the result of two queries.
Because the arguments will represent a query to execute and it can use
everything sentence of SQL.
If not there are other way, I wish know who are the limitations of EXCEPT.
Greatens!!
__________________________________________________
"Todos el 12 de Septiembre con una Cinta Amarilla"
FIN A LA INJUSTICIA, LIBERENLOS YA!!
http://www.antiterroristas.cu
                                    
http://justiciaparaloscinco.wordpress.com


pgsql-general by date:

Previous
From: Igor Neyman
Date:
Subject: Re: How to compare the results of two queries?
Next
From: Eduardo Morras
Date:
Subject: Re: upgrade from 9.2.x to 9.3 causes significant performance degradation