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