Oracle динамически заменяет значения, используя представления переменных - PullRequest
0 голосов
/ 06 января 2012

У меня есть несколько Oracle-Views, которые я использую для создания нескольких букв.

Например:

СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ВИД V_blubb как
Выберите идентификатор,
blubb
THATSNOTINTERESTING;

и

СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ВИД V_bla как
Выберите идентификатор,
бла
ОТ ЭТОГО НЕ ЗАИНТЕРЕСОВАНО;

Теперь у меня есть функция, которая получает некоторый текстовый ввод (HTML) и html_id.

Моя функция будет решать, какое представление она должна просматривать, по полученному html_id, и после этого она должна заменить каждый тег <var name="COLUMNNAME"> </var> значением в БД. Если это <var name"blallala"> </var>, то должны быть значения столбца 'blallala'.

Теперь я могу выбрать правильный View, и я также смогу (используя динамический SQL) просто выбрать значение, которое я хочу вставить. Но у меня есть текст, где несколько полей, которые должны быть заменены.

* * 1 022 Пример: * 1 023 *

Intput: <var name="col1"> </var>, <var name="col2"> </var>
Выходные данные: VALUE_OF_ROW1_COL1, VALUE_OF_ROW2_COL2
VALUE_OF_ROW2_COL1, VLAUE_OF_ROW2_COL2

Проблема:

Я не могу извлечь все в запись, потому что представление меняется, и запись не может быть инициализирована динамически (я думаю). Поэтому я не могу запросить динамический выбор записи, полученной с помощью курсора.

Чтобы быть более конкретным: мне нужен цикл for или idex для цикла сначала по всем строкам и по каждой строке по каждому столбцу ...

1 Ответ

1 голос
/ 16 января 2012

Я нашел решение для этого.Я сгенерировал в своей функции новую строку как строку и выполнил ее с помощью параметра «EXECUTE IMMEDIATE function_string USING» - функция :)

...