У меня есть таблица со ссылками на другие таблицы. Сохранено имя таблицы и идентификатор объекта.
Как это:
ref_table
id | table_name | refId
-------+------------+-------
1 | test | 6
2 | test | 9
3 | other | 5
Теперь я пытаюсь сформулировать SQL / FUNCTION, который возвращает правильные объекты из правильных таблиц. Что-то вроде:
SELECT * FROM resolveId(3)
Я ожидал бы получить сущность с идентификатором «5» из таблицы «прочее». Это возможно? Я думаю, я могу сделать это с помощью хранимой процедуры (CREATE FUNCTION). Функция должна была бы проверить «ref_table» и вернуть имя таблицы для использования в операторе SQL ... но как именно?