моя инструкция sql построена динамически. У меня есть что-то вродеВосстановить динамические столбцы записей
strSql := 'select name, tel, adress, activity_id as filtre_1, country_id as filtre_2, ... from ... where ...'
я могу иметь от 1 до п фильтр и filter_1 может быть activity_id в COUNTRY_ID, порядок не имеет значения.
Как получить значения filter_1, filter_2, поскольку я не знаю, сколько запросов отправлено обратно?
Normaly, чтобы получить значения, я:
FOR rowResult IN EXECUTE strSql LOOP
name := rowResult.name
tel := rowResult.tel
adress := rowResult.adress
filtre_1 := rowResult.filtre_1
filtre_2 := rowResult.filtre_2
END LOOP;
Как это не может быть сделано, я хотел бы сделать что-то вроде
FOR rowResult IN EXECUTE strSql LOOP
name := rowResult.name
tel := rowResult.tel
adress := rowResult.adress
filtre_1 := rowResult("filtre_1")
filtre_2 := rowResult("filtre_2")
END LOOP;
но rowResult(stringfield)
не существует.
Есть ли у кого-то идея?
Благодаря
Идея хорошая, но, видимо, я сделал что-то не так, потому что это не работает для меня: –
вы попробовали демонстрацию скрипки? –
Вот результат моей временной переменной: УВЕДОМЛЕНИЕ: temp = {10, "", "", "", "", "", "\" ABC 1.3.1.1 \ "", "", 33,42 , ",", ", 14, FILTRE, 12, FILTRE," ", FILTRE, 7, FILTRE} Когда я пытаюсь прочитать coloumn 11, я получаю это сообщение об ошибке: ОШИБКА: не может подстроить текст типа, потому что это не массив –