Я можу CASE
вибрати, які колонки відображати в SELECT
запиті (Postgres), наприклад:
SELECT CASE WHEN val = 0 THEN column_x
WHEN val = 1 THEN column_y
ELSE 0
END AS update, ...
Чи можливо щось подібне взагалі під час виконання UPDATE
запиту в Postgres (тобто вибирати, які стовпці потрібно оновити)? Я припускаю, що не тому, що я нічого про це не міг знайти, але, можливо, хтось має розумну альтернативу (окрім використання процедури або оновлення кожного стовпця за допомогою а, CASE
щоб визначити, чи варто стовпцю присвоїти нове значення або просто переназначити існуюче значення). Якщо немає простої альтернативи, я, звичайно, прийму це як відповідь.
Додаткова інформація : У моєму випадку я маю 14 потенційних стовпців, які можуть бути оновлені, причому лише один оновлюється на відповідний рядок (таблиця, яку потрібно оновити, приєднується до іншої у запиті). Кількість рядків для оновлення буде, швидше за все, різнитися, може становити десятки чи сотні. Я вважаю, що для умов приєднання існують індекси.