Re: Passing multiple rows to a function?
Re: Passing multiple rows to a function?
От:
Michael Fuhr <mike@fuhr.org>
Дата:
On Sun, Apr 24, 2005 at 03:00:55AM +0300, Vitaly Belman wrote: > > I know that you can pass rows/records to a function but what about a > few rows? Is that possible? > > For example, I'd like to send to a function a number of rows from the > "workers" table (e.g "select * from workers where age<10") and the > function will return their summed salary. See "Aggregate Functions" in the PostgreSQL Tutorial, and again in the "Functions and Operators" chapter. Here are links to documentation for the latest version of PostgreSQL: http://www.postgresql.org/docs/8.0/interactive/tutorial-agg.html http://www.postgresql.org/docs/8.0/interactive/functions-aggregate.html If you want to create your own aggregate functions, see "User-Defined Aggregates" in the "Extending SQL" chapter and the documentation for CREATE AGGREGATE: http://www.postgresql.org/docs/8.0/interactive/xaggr.html http://www.postgresql.org/docs/8.0/interactive/sql-createaggregate.html -- Michael Fuhr http://www.fuhr.org/~mfuhr/
Passing multiple rows to a function?
От:
Vitaly Belman <vitalyb@gmail.com>
Дата:
I know that you can pass rows/records to a function but what about a few rows? Is that possible? For example, I'd like to send to a function a number of rows from the "workers" table (e.g "select * from workers where age<10") and the function will return their summed salary. -- ICQ: 1912453 AIM: VitalyB1984 MSN: tmdagent@hotmail.com Yahoo!: VitalyBe
Re: Passing multiple rows to a function?
От:
Vitaly Belman <vitalyb@gmail.com>
Дата:
I am aware of the aggregate functions but that's not what I need. Well, it was a bad example to what I really wanted to do, I guess :( my bad. I have a recursive table (id, name, parent_id) and I'd like to return for a given id all its parents - an example to how to do this is given here http://www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=24. However, unlike the example I don't want the function to return all the parents in a string, but instead I want to use the "set returning functions" to return a table of all the parent_ids. Now I am just thinking about how to make it a recursive function. Ideas will be welcome. On 4/24/05, Michael Fuhr wrote: > On Sun, Apr 24, 2005 at 03:00:55AM +0300, Vitaly Belman wrote: > > > > I know that you can pass rows/records to a function but what about a > > few rows? Is that possible? > > > > For example, I'd like to send to a function a number of rows from the > > "workers" table (e.g "select * from workers where age<10") and the > > function will return their summed salary. > > See "Aggregate Functions" in the PostgreSQL Tutorial, and again in > the "Functions and Operators" chapter. Here are links to documentation > for the latest version of PostgreSQL: > > http://www.postgresql.org/docs/8.0/interactive/tutorial-agg.html > http://www.postgresql.org/docs/8.0/interactive/functions-aggregate.html > > If you want to create your own aggregate functions, see "User-Defined > Aggregates" in the "Extending SQL" chapter and the documentation > for CREATE AGGREGATE: > > http://www.postgresql.org/docs/8.0/interactive/xaggr.html > http://www.postgresql.org/docs/8.0/interactive/sql-createaggregate.html > > -- > Michael Fuhr > http://www.fuhr.org/~mfuhr/ > -- ICQ: 1912453 AIM: VitalyB1984 MSN: tmdagent@hotmail.com Yahoo!: VitalyBe