On 17/09/2013 15:59, Juan Daniel Santana Rodés wrote:
> I am developing a task in which I need to know how to compare the
> results of two queries ...
> I thought about creating a procedure which both queries received by
> parameters respectively. Then somehow able to run queries and return if
> both have the same result. As a feature of the problem, both queries are
> selection.
> Here I leave a piece of code I want to do.
>
> create or replace function compare(sql1 character varying, sql2
> character varying) returns boolean as
> $body$
> Declare
> Begin
> --here in some way to run both queries and then compare
> End;
> $body$
> language 'plpgsql';
>
> I've been studying and I found that there EXECUTE but to use it, first
> you should have used PREPARE, and in this case the values of the
EXECUTE in pl/pgsql is different to EXECUTE in ordinary SQL; it's used
for executing queries constructed on-the-fly as strings. You don't need
to do a PREPARE before EXECUTE in a pl/pgsql function.
Here's the relevant place in the docs for this form of EXECUTE:
http://www.postgresql.org/docs/9.3/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN
Ray.
--
Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie