В функции запуска postgresql ------- Как я могу использовать переменную NEW в качестве массива? - PullRequest
1 голос
/ 19 июня 2011

Мы можем использовать NEW.columnname и получаем его значение.

Могу ли я использовать переменную NEW в качестве массива для получения ее значений? как NEW[1] или NEW.1 ... Или, если я передам имена столбцов в одном текстовом массиве, чтобы вызвать аргумент функции, тогда я могу использовать NEW.$1, чтобы получить значение 1-го столбца?

Я должен сделать это только с язык plpgsql

Ответы [ 2 ]

1 голос
/ 19 июня 2011

Вы можете преобразовать строку / строки в массив (ы) и обратно, как описано здесь .

0 голосов
/ 20 июня 2011

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


Я бы с большим энтузиазмом сказал, что меня неправильно показывают (иногда мне это нужно самому)тоже), но лучше всего я знаю, что обращение к именам столбцов с помощью переменных является одним из тех случаев, когда вам действительно нужно использовать триггеры PL / C, а не триггеры PL / PgSQL.Вы найдете примеры таких триггеров в contrib / spi и в PGXN.

В качестве альтернативы, напишите функцию, которая записывает ваш триггер с использованием execute операторов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...