Hi
basically create a function returning a table, then select * from function() can be called from php.
below is a complete sql language function i wrote returning a table.
create or replace function
show_privilege(p_grantee name)
returns
table(grantee name
,role_name name
,grantor name
,table_catalog name
,table_name name
,privilege_type varchar)
as $$
select
AR.grantee::name
,AR.role_name::name
,RTG.grantor::name
,RTG.table_catalog::name
,RTG.table_name::name
,privilege_type
from
information_schema.applicable_roles AR
left outer join
information_schema.role_table_grants RTG on (AR.role_name = RTG.grantee)
where
AR.grantee = p_grantee;
$$ language sql;
you'll notice the returns table defines the rows in the return.
on one of my databases, if i run:
select * from show_privilege('wuggly_ump_admin');
i get
grantee | role_name | grantor | table_catalog | table_name | privilege_type
------------------+-----------+---------+---------------+------------+----------------
wuggly_ump_admin | sys_user | | | |
(1 row)
i hope that helps.
reiner
On 2 nov 2013, at 16:54, Michael Schmidt <css.liquid@gmail.com> wrote:
> Hi guys,
>
> i need to do a ugly select which i dont want to place in my php code.
> I use PDO all the time.
>
> I want to return a structure which is the same as a table i have created.
>
> I want to write it in pgSQL.
>
> Now my question, how can i return that and access it with PHP PDO?
> Should I use a cursor or shoul I use the return of the function (if it is possible)?
>
> Can someone provide a piece of example code?
>
> Thanks for help
>
>
> --
> Sent via pgsql-php mailing list (pgsql-php@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-php