PL-SQL: получение типов данных столбцов из результатов запроса - PullRequest
5 голосов
/ 17 декабря 2008

Попытка создать общую процедуру PL / SQL для экспорта данных в определенный формат XML, например, Excel XML. Допустим, процедура принимает строку с запросом SELECT для выполнения EXECUTE IMMEDIATE.

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

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

Как я могу затем обработать строки и столбцы результата EXECUTE IMMEDIATE в двойном цикле, который анализирует тип каждого значения и выдает соответствующий фрагмент XML?

Ответы [ 2 ]

8 голосов
/ 17 декабря 2008

Вы не можете сделать это с EXECUTE IMMEDIATE. Вам придется использовать более мощный (и более сложный) пакет DBMS_SQL - я связал вас с процедурой DESCRIBE_COLUMNS, которая особенно актуальна.

0 голосов
/ 17 декабря 2008

Или запросите ALL_TAB_COLS, чтобы получить тип данных столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...