Re: Passing table names to PL/PGSQL for SELECT/UPDATE/INSERT
От | Richard Huxton |
---|---|
Тема | Re: Passing table names to PL/PGSQL for SELECT/UPDATE/INSERT |
Дата | |
Msg-id | 3AA29705.B1D291D6@archonet.com обсуждение исходный текст |
Ответ на | Passing table names to PL/PGSQL for SELECT/UPDATE/INSERT (Gerald Gutierrez <pozix@home.com>) |
Список | pgsql-sql |
Gerald Gutierrez wrote: > > I'd like to generalize my function. As per Richard Huxton's suggestion to > create tables named after session ID (thanks Richard)s, I'd like to pass in > some table names so that the algorithm can read from and write into tables > that I specify as parameters to the function. Sometihng like: Known limitation - sorry, should have made things clear. > select dijkstra(inputtablename, outputtablename); > > I've tried typing the parameters as TEXT, and then just inserting $1 in the > select (e.g. SELECT * from $1 ...) This doesn't work, nor did a number of > other ways I tried. Basically, I can think of 3 solutions. Bear in mind it's late here, I've had a few drinks with dinner. 1. Use the EXECUTE statement in 7.1 to run the query 2. Use the EXECUTE statement to construct a custom function, one for each session with the table hard-coded (you could also do this from the application I'd guess) 3. Try pl/Tcl - I _think_ that lets you construct a dynamic query, but I don't know TCL so can't say (it's supposed to be easy enough but I've never got round to it). HTH - Richard Huxton
В списке pgsql-sql по дате отправления: