То, что я пытаюсь сделать, по существу, это:UNION на динамических операторов SQL
SELECT 1 FROM DUAL
UNION
EXECUTE IMMEDIATE 'SELECT 2 FROM dual';
Я на самом деле тестирующий пытается обойти брандмауэр веб-приложений, так что я уверен, что это выглядит глупо/странно из другая сторона. В принципе, мне нужно иметь возможность делать UNION
с динамическими запросами, чтобы обойти фильтр. Итак, в этом примере вы передаете строку из Java в Oracle DB, используя this function.
У меня нет обратной связи с базой данных о том, что не так с моим запросом, и не удалось найти документацию для тех, кто делает что-то подобное. Мне нужен простой пример, где I UNION
обычный запрос с простой динамической строкой SQL.
Не можете ли вы объединить их обоих в динамический sql? – GurV
Я не могу заставить динамический SQL выполнить. Приведенный выше пример - это то, что я в идеале хотел бы иметь в качестве доказательства концепции (или что-то подобное с правильным синтаксисом). Моя проблема заключается не столько в объединении, сколько в том, что мне нужно разделить строки, такие как 'UTL_HTTP' или' UTL_FILE', на что-то вроде '' UTL_ '||/* testing */'HTTP''. – Gray
Это все еще не имеет смысла. 'execute instant' - это PL/SQL-конструктор, и вы пытаетесь использовать его в простом SQL. Даже если весь объединенный оператор в конечном счете выполняется динамически, это происходит в контексте SQL, поэтому он по-прежнему недействителен. –