powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / %rowtype в неявном курсоре
6 сообщений из 6, страница 1 из 1
%rowtype в неявном курсоре
    #32105502
leva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
declare
aa tab1%rowtype;
begin
select * into aa from tab1 where....

При выборке из одной таблицы работает, а как сделать то же самое , если SELECT из нескольких таблиц ?
declare
aa ????%rowtype;
begin
select * into ???? from tab1, tab2, tab3 where....

Заранее благодарю за ответы.
...
Рейтинг: 0 / 0
%rowtype в неявном курсоре
    #32105606
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задекларируй курсор явно, тогда ты сможешь объявить переменную типа my_cursor%rowtype.
...
Рейтинг: 0 / 0
%rowtype в неявном курсоре
    #32105614
Animal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маленький вопрос.
Зачем тебе все поля из всех таблиц.

И еще один как ты собираешься к ним обращаться в курсоре если в таблицах одинаковые поля? Следовательно тебе все равно прийдется описывать курсор явным образом. А это у тебя полюбому получиться.
...
Рейтинг: 0 / 0
%rowtype в неявном курсоре
    #32105650
leva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Маленький вопрос.
>Зачем тебе все поля из всех таблиц.

Дело в том что под таблицами понимаются SELECTы т.е.:
SELECT * From (SELECT1,select2...). В результате выбирается одна запись с данными для расчета. Хотелось бы узнать можно ли обойтись без явного курсора - ведь при работе с одной таблицей все работает и с неявным курсором?
...
Рейтинг: 0 / 0
%rowtype в неявном курсоре
    #32106386
m_kus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Нельзя ли обойтись без объявления переменной rowtype?
Код: plaintext
1.
2.
3.
  FOR tcur IN (SELECT * FROM (SELECT1, SELECT2)) LOOP
   ...
  END LOOP;

2. Ну или написать view = (SELECT * FROM (SELECT1, SELECT2)) и потом использовать его как tab1...
...
Рейтинг: 0 / 0
%rowtype в неявном курсоре
    #32106406
leva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое приемлимое решение предложил Denis Popov. Оно подрузамевалось с самого начала , но была мысль о использовании неявного курсора.
Но логика наверное в этом есть - при явном задании источника можно использовать неявные курсоры, а при неявном источнике надо применять явный курсор. Только почему-то в своих книгах я нигде этого не нашел, да и вообще с хорошей документацией всегда проблемы.

Спасибо всем за участие в обсуждении вопроса.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / %rowtype в неявном курсоре
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]