У меня есть требование запустить большой запрос sql в mule, но запрос меняется в зависимости от полезной нагрузки. Мне нужно изменить имена столбцов, где и сгруппировать по условиям et c в зависимости от полезной нагрузки.
В настоящее время я помещаю шаблон запроса в папку ресурсов, скажем, test. sql. И в запросе я помещаю какое-нибудь ключевое слово, которое нужно заменить, например, replaceColumn. И я использую компонент набора переменных, чтобы заменить это ключевое слово требуемым ключевым словом, например "Field1Column"
переменная: formQuery
%dw 2.0
output application/java
var query = readUrl('classpath://test.sql','text/plain')
---
query replace "replaceColumn" with payload.Field1Column
В компоненте выбора БД я просто помещаю # [vars.formQuery]
Это решение работает для меня, но трудно заменить многие части запроса, вложив оператор replace.
Как это лучше сделать?