2014-11-04 3 views
0

У меня есть существующая таблица. У меня есть запрос select, который может возвращать несколько строк. Я хочу отобразить все строки, которые возвращает этот запрос select, без использования курсора. Как я могу достичь этого в pl sql?Как отобразить несколько строк из таблицы без использования курсора?

+4

Почему в PL/SQL? Показать кому и как? Почему вы не можете использовать (видимый) курсор и какой другой механизм вы планируете - цикл PL/SQL каким-то образом выбирает одну строку каждый раз !? Может быть, это означает не явный курсор, а неявный - все в порядке? –

+0

Я узнал из Google, что это можно легко сделать с помощью явного курсора, но мой курс, который я преследую, не имеет понятия курсора. – user3748090

+2

Возможно, вам придется объяснять свои ограничения. Что именно вам сказали, что вы не можете сделать? Укажите курсор в разделе 'declare' или любом виде курсора, включая неявные и ref-курсоры? Как насчет коллективного сбора - коллекции PL/SQL ОК? И вы не сказали, как/где вы хотите отображать результаты. –

ответ

1

Если я правильно понимаю ваш вопрос, следующее возможное решение:

BEGIN 
    FOR T IN (SELECT 'data_1' col_1, 
        'data_2' col_2, 
        'data_3' col_3 
       FROM dual) LOOP 

    dbms_output.put_line('Query returns: '||T.col_1||', '||T.col_2||', '||T.col_3); 

    END LOOP; 
END; 
+0

Отлично! Взрыв! Это то, что я искал. Спасибо за тонну за помощь! – user3748090

Смежные вопросы