У меня есть строки SQL, которые мои пользователи пишут. Они похожи:Oracle SQL: Найти {теги} в строке sql
SELECT Name, Age from Users WHERE Name LIKE '%a%' AND {UsersWhere}
На стороне сервера Oracle, когда такое SQL должна быть выполнена, я хочу, чтобы заменить {} теги первым. Замены для {tags} будут действительными строками SQL, которые я удерживаю в таблице. Предварительно созданные суб-sqls. Таким образом, обработанная строка будет действительной SQL.
Есть ли какая-то причудливая встроенная функция Oracle, чтобы это произошло?
Спасибо за подсказку!
Как вы бежите на предоставленный пользователем SQL - в качестве динамического SQL с помощью PL/SQL? И «причудливо», вы имеете в виду что-то вроде ['replace'] (http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions153.htm)? –
Я хочу запустить функцию SQL ina - так что это будет PL/SQL. –
Да, по фантазии я имею в виду, например, вспомогательную функцию oracle, которая вернет все найденные {теги} или что-то еще. Затем я мог бы пройти через них, чтобы получить замену и заменить на строку. –