Как я могу получить доступ к таблице postgres по имени? - PullRequest
1 голос
/ 11 марта 2009

Доступ к таблицам по имени

Мне нужно ссылаться на имя таблицы по заданному мне строковому значению. Как бы я поступил так в Postgres? Использование хранимых процедур с PLPGSQL является опцией, однако другие языки будут недоступны.

Например:

SELECT count(*) FROM some_function_that_returns_data_by_table_name('mytable');

У меня такое ощущение, что я делал это давным-давно, используя таблицы pg_XXX и кучу соединений, но я не могу понять, как это сделать сейчас. У кого-нибудь есть идеи?

Хотя я могу сгенерировать имя на уровне приложения, было бы идеально, если бы я мог обращаться к таблице по имени, чтобы код мог быть более простым, легко передаваться между различными приложениями и, возможно, использоваться в хранимых процедурах .

Ответы [ 2 ]

2 голосов
/ 11 марта 2009

Если использование PL / pgSQL приемлемо, взгляните на EXECUTE .

0 голосов
/ 11 марта 2009

Почему вы не можете просто сделать это в 3 шага?

  1. вызвать функцию, которая дает имя
  2. создать SQL с именем
  3. выполнить SQL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...