Обсуждение: (no subject)
Hi List;
I've created a plperlu (perl untrusted) function with the ability to use
dbi. I can use the code listing below to return data if I specify the
query as follows:
select * from sybase_get2() as (f1 varchar(100), f2 varchar(100));
However, I have to specify the column names as f1 and f2.
I want to turn this into a generic solution where I can eventually pass in
the SQL. For now I just want to be able to specify any column names I want
in the "as" part of the above query.
Any Ideas?
Thanks in advance for your help...
########### Code Listing Start ###########
CREATE OR REPLACE FUNCTION sybase_get2()
RETURNS SETOF record
AS $$
use DBI;
my $dbh = DBI->connect("dbi:Sybase:server=CXS100", 'pguser1', 'pg70093' );
if (!$dbh) {
return;
}
my $qry = $dbh->prepare("select parent_id, Parent_key from
csx1db.dbo.parentkeys");
$qry->execute();
while ( @data = $qry->fetchrow_array() ) {
return_next ({f1=>$data[0], f2=>$data[1]});
}
return ;
$$ LANGUAGE plperlu
########### Code Listing End ###########
LLC wrote: > Hi List; > > I've created a plperlu (perl untrusted) function with the ability to use > dbi. I can use the code listing below to return data if I specify the > query as follows: > > select * from sybase_get2() as (f1 varchar(100), f2 varchar(100)); > > However, I have to specify the column names as f1 and f2. > I want to turn this into a generic solution where I can eventually pass in > the SQL. For now I just want to be able to specify any column names I want > in the "as" part of the above query. > > Any Ideas? > > Use a type to define the output columns, then you can call the function like this: select * from sybase_get2() not need to us AS See the examples on this page on how to use a type with a plperl function: http://www.commandprompt.com/community/pgdocs81/plperl-database -- Tony Caduto AM Software Design http://www.amsoftwaredesign.com Home of PG Lightning Admin for Postgresql Your best bet for Postgresql Administration