Я использую Postgresql 9.3, и это SQL не работает:
UPDATE revision_table
SET (code, uuid, converted_entity1uuid, converted_entity1code) =
(SELECT convertedT.code, convertedT.uuid, convertedT.uuid, convertedT.code
FROM currency convertedT
INNER JOIN currency_conversion_aud conversionT ON conversionT.currency1_id = convertedT.id
WHERE conversionT.id = 125
ORDER BY rev DESC LIMIT 1),
(converted_entity2uuid, converted_entity2code) =
(SELECT convertedT.uuid, convertedT.code
FROM currency convertedT
INNER JOIN currency_conversion_aud conversionT ON conversionT.currency2_id = convertedT.id
WHERE conversionT.id = 125
ORDER BY rev DESC LIMIT 1)
WHERE id = 12;
Ошибка:
ОШИБКА: синтаксическая ошибка в или около "SELECT "
LIGNE 3: (ВЫБЕРИТЕ convertT.code, convertT.uuid ...
Но если я запусту этот SQL в postgres 9.6, он будет работать нормально:
UPDATE revision_table
SET (code, uuid, converted_entity1uuid, converted_entity1code) =
(SELECT convertedT.code, convertedT.uuid, convertedT.uuid, convertedT.code
FROM currency convertedT
INNER JOIN currency_conversion_aud conversionT ON conversionT.currency1_id = convertedT.id
WHERE conversionT.id = 12
ORDER BY rev DESC LIMIT 1),
(converted_entity2uuid, converted_entity2code) =
(SELECT convertedT.uuid, convertedT.code
FROM currency convertedT
INNER JOIN currency_conversion_aud conversionT ON conversionT.currency2_id = convertedT.id
WHERE conversionT.id = 12
ORDER BY rev DESC LIMIT 1)
WHERE id = 12;
UPDATE 0
Temps : 75,359 ms
Как я могу конвертировать, чтобы быть совместимым с 9.3, потому что производство в 9.3?
Спасибо за помощь