Re:
От | Max |
---|---|
Тема | Re: |
Дата | |
Msg-id | B7436C72-BF76-496A-9247-E5245845017E@gmail.com обсуждение исходный текст |
Ответ на | Re: (Jeff Davis <pgsql@j-davis.com>) |
Ответы |
Re:
|
Список | pgsql-general |
Thx. But I know how to write procedure and function, but my problem is to know how to access the current row fields during a SELECT inside a function: So, in a function, can I write : /* ... */ permission (/* ... */) /* ... */ IF (ROW.perm_field1 = 1) statement IF (some_operation(ROW.perm_field2)) statement /* ... */ RETURN TRUE or FALSE; /* ... */ Or am I obligated to pass to my function the tablename and the id field to execute a second query, then retrieving the row fields and then computing permissions and then returning true or false ? Thx for Help Max Le 15 août 06 à 18:27, Jeff Davis a écrit : > On Tue, 2006-08-15 at 18:05 +0200, Max wrote: > >> Do you know if it is possible to write such things : >> >> SELECT * FROM tablename WHERE permission(some parameters) == TRUE; >> >> with the function 'permission' returning TRUE or FALSE after a check >> on different perm_fields of the current row. > > Yes, you can do that. The best place to start is: > > http://www.postgresql.org/docs/8.1/static/plpgsql.html > > You want to create a pretty basic function that returns "boolean" and > takes a few parameters. Note that SQL does not have the C-style "==" > equality test. In SQL just write "= true". Better yet, since your > function returns boolean just do "WHERE permission(...)" with "..." > replaced by your parameters. > > If you have trouble after trying out some examples at that link, post > back to the list with what you tried. > > Regards, > Jeff Davis > > >
В списке pgsql-general по дате отправления: