#postgresql #plpgsql
#postgresql #plpgsql
Вопрос:
Такую функцию определенно можно определить через C API, что можно увидеть, например, посмотрев на json_build_array():
К сожалению, попытка создать подобную функцию SQL или pl / pgSQL завершается неудачей
CREATE OR REPLACE FUNCTION my_function( VARIADIC _args anyelement[]) RETURNS ...
и это неудивительно, поскольку в документации PostgreSQL упоминается, что ‘VARIADIC’ работает только для массивов (и, похоже, нет такого понятия, как anyelement[] ). Кто-нибудь знает, как заставить это работать без необходимости писать функцию C?
Комментарии:
1. У меня нет времени на полный ответ. Я могу указать вам здесь . Поиск
polymorphic
. Это также приведет вас к полиморфным типам .
Ответ №1:
Сейчас это невозможно. Языки PLpgSQL и SQL вышли из игры, потому что нет массивов с полями разных типов. И PL / Perl или PL / Python просто не поддерживают, это то, что я знаю.