Обратитесь к именам столбцов / таблиц, используя строки? - PullRequest
8 голосов
/ 21 января 2011

можно ли ссылаться на имя столбца / таблицы, используя строку?Что-то вроде SELECT * FROM 'my_table'::table_name_t?

Причина, по которой я спрашиваю: у меня есть таблица geometry_columns с некоторыми таблицами геометрии.И я хотел бы знать, какие объекты находятся в пределах определенного радиуса.

Спасибо, Филипп

Ответы [ 2 ]

6 голосов
/ 21 января 2011

Для этого вам понадобится (сохраненная) функция. Функция принимает имя таблицы в качестве аргумента, динамически создает SQL, а затем возвращает результат SELECT на основе этого запроса.

Вот несколько примеров (не совсем то, что вам нужно, но они должны направить вас в правильном направлении):

http://forums.devshed.com/postgresql-help-21/plpgsql-variable-representing-table-name-137201.html
Динамический столбец в выражении SELECT postgres

0 голосов
/ 21 января 2011

Я не думаю, что вы можете сделать это напрямую.Я думаю, вам нужно будет построить оператор выбора из другого оператора или фрагмента кода, а затем выполнить полученный оператор.

...