Thread: POSTGRESQL and PERL?
Hi- I'm a newbie at postgresql and was working on sorting by category. What my question is, how do you sort by category when using a variable. For instance, you can sort by name in perl by doing: $sqh = $dbh->prepare(q{select name from company order by name;}); $sqh->execute(); but what if you have a variable set like: $sort_selection = "name"; How do you sort by the variable? For instance you cannot do: $sqh = $dbh->prepare(q{select name from company order by ?;}); $sqh->execute($sort_selection); OR $sqh = $dbh->prepare(q{select name from company order by $sort_selection;}); $sqh->execute(); If anyone could help, I would greatly appreciate it. Thanks again! __________________________________________________ Do You Yahoo!? Kick off your party with Yahoo! Invites. http://invites.yahoo.com/
Peter my guess is you can just substitute the variable name in for the actual sortfield name.. select * from company order by $field; That's why variables BEGIN with denotation characters in Perl rather than ending with them (like in basic).. Anyway, let me know if that works... and which module are you using to hit PostgreSQL???? thax, Ted _________________________________________________ Ted Wallingford Manager of Information Technology Independence Excavating, Inc. Precision Environmental Co. Independence Communications, Inc. www.indexc.com > -----Original Message----- > From: Peter Landis [mailto:ntwebdeveloper@yahoo.com] > Sent: Friday, May 26, 2000 11:58 AM > To: pgsql-sql@postgresql.org > Cc: pgsql-sql@postgresql.org > Subject: [SQL] POSTGRESQL and PERL? > > > > Hi- > I'm a newbie at postgresql and was working on > sorting by category. What my question is, how do you > sort by category when using a variable. For instance, > you can sort by name in perl by doing: > > $sqh = $dbh->prepare(q{select name from company order > by name;}); > $sqh->execute(); > > but what if you have a variable set like: > $sort_selection = "name"; > > How do you sort by the variable? > > For instance you cannot do: > $sqh = $dbh->prepare(q{select name from company order > by ?;}); > $sqh->execute($sort_selection); > > OR > > $sqh = $dbh->prepare(q{select name from company order > by $sort_selection;}); > $sqh->execute(); > > If anyone could help, I would greatly appreciate it. > > Thanks again! > > > > __________________________________________________ > Do You Yahoo!? > Kick off your party with Yahoo! Invites. > http://invites.yahoo.com/ >
Attachment
Peter Landis wrote: > > but what if you have a variable set like: > $sort_selection = "name"; > > How do you sort by the variable? > > For instance you cannot do... > $sqh = $dbh->prepare(q{select name from company order > by $sort_selection;}); Why not? The query string is created before prepare is called... Regards, Ed Loehr
----- Original Message ----- From: Ed Loehr <eloehr@austin.rr.com> To: Peter Landis <ntwebdeveloper@yahoo.com> Cc: <pgsql-sql@postgresql.org> Sent: Friday, May 26, 2000 5:35 PM Subject: Re: [SQL] POSTGRESQL and PERL? > Peter Landis wrote: > > > > but what if you have a variable set like: > > $sort_selection = "name"; > > > > How do you sort by the variable? > > > > For instance you cannot do... > > $sqh = $dbh->prepare(q{select name from company order > > by $sort_selection;}); > > Why not? The query string is created before prepare is called... > I think you need qq{select ...} to indicate double-quoting "" or the variable won't be substituted. - Richard Huxton