Я пытаюсь создать хранимую процедуру, которая, среди прочего, обновляет таблицу информацией из другой таблицы:
UPDATE table1 T1, table2 T2
set T1.rank = T1.rank + T2.rank
T1.tags = merge(T1.tags, T2.tags)
WHERE T1.id = T2.id
теги — это строка слов, разделенных запятыми, а слияние — это функция (а не процедура), которая разбивает строки на временные таблицы и возвращает новую строку с уникальными тегами, используя подготовленные операторы. Я знаю, что нельзя использовать подготовленные операторы внутри функций, но часть, которая их использует, находится внутри процедуры, которая вызывается внутри функции.
Итак, я получаю сообщение об ошибке, что я не могу использовать динамическую процедуру sql внутри функции, и мне нужна функция, чтобы я мог использовать возвращаемое значение в качестве нового значения в обновлении.
Любой возможный способ добиться этого?