Re: Using a Storedprocedure as a View

From: Bill Moran <wmoran(at)potentialtech(dot)com>
To: Alexander Hachmann <public(at)thesofa(dot)de>
Cc: Pgsql <pgsql-general(at)postgresql(dot)org>
Subject: Re: Using a Storedprocedure as a View
Date: 2004-03-09 17:59:20
Message-ID: 404E05F8.2090606@potentialtech.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Alexander Hachmann wrote:
> Hello,
> I know that this was discussed many times, but all the answers did not help
> me yet.
> I need to create a Procedure that returns the same data as a view does
> except, that the the
> data was filtered by a parameter.
> I want to execute a procedure with a parameter and get back a 'view'.
> I only made prcedures giving back simple values. Can they give back data as
> Views does.
> I dont want the procedure to create a view on which i have to query again
> because the query the Procedure does
> can go over more stages than just this one. The procedure calls another
> procedure and handles this as a subselect.
> Can any one help me?

Does this example help?

Assuming you have a table called "mytable" that you want to view filtered:

CREATE FUNCTION filtered_results(DATE)
RETURNS SETOF mytable
AS '
SELECT * FROM mytable WHERE important_date > $1;
' LANGUAGE SQL;

Of course, this is pretty simple. If your view is more complicated, you'll
probably have to define a custom type, and your select statement will be
more complex. I get the idea from your post that you're having trouble
getting started, so I figured a simple example might help? Actually,
here's a more complex example:

create table customer (
id serial,
name text );
create table invoice (
id serial,
customer int,
amount decimal,
paid boolean );

create type unpaid_invoices as (
name text,
invoice int,
amount decimal );

create function list_unpaid_invoices()
returns setof unpaid_invoices
as '
select name, invoice.id as invoice, amount
from invoice join customer on invoice.customer=customer.id
where not paid;
' language sql;

Hope these help. If not, you might want to just provide the
view definition so folks can give you more specific help.

--
Bill Moran
Potential Technologies
http://www.potentialtech.com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Gavin M. Roy 2004-03-09 19:41:54 Re: 7.4.1 upgrade issues
Previous Message Alexander Hachmann 2004-03-09 17:57:32 Re: Using a Storedprocedure as a View