Цикл по PL / SQL Row - PullRequest
       10

Цикл по PL / SQL Row

0 голосов
/ 15 февраля 2012

Я долго искал способ перебора строки PL / SQL, но я не получил подходящих результатов.

Например, если у меня есть строка PL / SQL, которая выглядит следующим образом row(first_name,last_name), и я хочу напечатать имя и фамилию, используя PL / SQL без знания строки, т.е. я не знаю, как строка выглядит так, мне нужен какой-то код, похожий на этот

FOR column IN My_Row  --some way to iterate through the row.
LOOP
    PRINT column...   --do my stuff, in this example
END LOOP;

1 Ответ

1 голос
/ 15 февраля 2012

Если вы знаете имя таблицы, из которой строка, то вы можете получить имена столбцов из ALL_TAB_COLUMNS.Вы можете построить динамический SQL вокруг этого.См. Эту статью Ask Tom относительно чего-то подобного: Ссылка на переменные% rowtype без использования имен столбцов .

На основе вашего комментария вы будете просматривать все свои таблицы, чтобы вы могли использовать ALL_TABLES чтобы получить все их имена.Однако помните, что ALL_TABLES - это все таблицы, к которым у вас есть логин, в то время как DBA_TABLES - это все таблицы в базе данных, а USER_TABLES - это те, которыми владеет ваш пользователь.

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