Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / %rowtype в неявном курсоре / 6 сообщений из 6, страница 1 из 1
13.02.2003, 08:56
    #32105502
leva
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
%rowtype в неявном курсоре
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
13.02.2003, 10:45
    #32105606
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
%rowtype в неявном курсоре
Задекларируй курсор явно, тогда ты сможешь объявить переменную типа my_cursor%rowtype.
...
Рейтинг: 0 / 0
13.02.2003, 10:48
    #32105614
Animal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
%rowtype в неявном курсоре
Маленький вопрос.
Зачем тебе все поля из всех таблиц.

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

Дело в том что под таблицами понимаются SELECTы т.е.:
SELECT * From (SELECT1,select2...). В результате выбирается одна запись с данными для расчета. Хотелось бы узнать можно ли обойтись без явного курсора - ведь при работе с одной таблицей все работает и с неявным курсором?
...
Рейтинг: 0 / 0
14.02.2003, 09:23
    #32106386
m_kus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
%rowtype в неявном курсоре
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
14.02.2003, 10:08
    #32106406
leva
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
%rowtype в неявном курсоре
Самое приемлимое решение предложил Denis Popov. Оно подрузамевалось с самого начала , но была мысль о использовании неявного курсора.
Но логика наверное в этом есть - при явном задании источника можно использовать неявные курсоры, а при неявном источнике надо применять явный курсор. Только почему-то в своих книгах я нигде этого не нашел, да и вообще с хорошей документацией всегда проблемы.

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


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