Thread: Return a table from a function
Hi, I've written a function that returns a table. It works fine and I get the expected results. The only problem is that in Node.jswhich is the client the table data is a string rather than a list of variables. Is there some way to change the returndata so it is still like a table but in something like JSON? Or even better is there a way to return it as the individualrows so that each column can be easily accessed? I'm using pg-promise to access PostgreSQL from a Node.js web application. Simon.
Attachment
On Tue, 2021-04-06 at 16:52 +0000, Simon Connah wrote: > I've written a function that returns a table. It works fine and I get the expected results. > The only problem is that in Node.js which is the client the table data is a string rather > than a list of variables. Is there some way to change the return data so it is still like > a table but in something like JSON? Or even better is there a way to return it as the > individual rows so that each column can be easily accessed? I'm using pg-promise to access > PostgreSQL from a Node.js web application. It's a bit unclear what you are doing, but I guess you should run SELECT * FROM myfunction('arg'); rather than SELECT myfunction('arg'); Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Wednesday, April 7th, 2021 at 09:44, Laurenz Albe <laurenz.albe@cybertec.at> wrote: > On Tue, 2021-04-06 at 16:52 +0000, Simon Connah wrote: > > > I've written a function that returns a table. It works fine and I get the expected results. > > > > The only problem is that in Node.js which is the client the table data is a string rather > > > > than a list of variables. Is there some way to change the return data so it is still like > > > > a table but in something like JSON? Or even better is there a way to return it as the > > > > individual rows so that each column can be easily accessed? I'm using pg-promise to access > > > > PostgreSQL from a Node.js web application. > > It's a bit unclear what you are doing, but I guess you should run > > SELECT * FROM myfunction('arg'); > > rather than > > SELECT myfunction('arg'); > > Yours, > > Laurenz Albe > ------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Cybertec | https://www.cybertec-postgresql.com That fixed it perfectly! Thank you.