Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 не работает курсор  [new]
user_404
Member

Откуда: Гадюкино-5
Сообщений: 66
есть задача написать курсор с циклом, в итоге надо чтобы возвращались различия в таблицах t1 и t2 из схемы shema1 и таблиц t1 и t2 из схемы shema2 соответственно.


DECLARE temp VARCHAR2(50);
CURSOR cur IS
SELECT t1.* from user_tables@shema2 t1 full join user_tab_columns@shema2 t2 on (t2.TABLE_NAME = t1.TABLE_NAME);
BEGIN
FOR rec IN cur LOOP
SELECT t1.TABLE_NAME INTO temp from user_tables@shema1 t1 full join user_tab_columns@shema1 t2 on (t1.TABLE_NAME = t2.TABLE_NAME)
WHERE t2.TABLE_NAME = rec.TABLE_NAME/* and t2.COLUMN_NAME=rec.COLUMN_NAME and t2.DATA_TYPE = rec.DATA_TYPE*/ ;
END LOOP;
END;

хочу записывать полученое значение в переменную temp, проблема в том, что значений получается много и все они не влезут в одну переменную. Ошибка в том, что возвращается больше одной записи. Как добавить в курсор все остальные колонки? из за условия, кторое закоменчено ошибки
15 ноя 12, 17:47    [13479777]     Ответить | Цитировать Сообщить модератору
 Re: не работает курсор  [new]
Изя Кацман
Member

Откуда: Великий Эксперимент
Сообщений: 2019
Камрад user_404, сначал в мозгу своем порядок наведи.
Разберись, что есть строки, что есть колонки и т.д.

Напиши для нас воспроизводимый пример для тренировок.

Объясни как должен выглядеть результат
"в итоге надо чтобы возвращались различия в таблицах t1 и t2 из схемы shema1 и таблиц t1 и t2 из схемы shema2 соответственно. " и т.д

Код оформи красиво, чтобы не стыдно было показывать
15 ноя 12, 18:18    [13480003]     Ответить | Цитировать Сообщить модератору
 Re: не работает курсор  [new]
user_404
Member

Откуда: Гадюкино-5
Сообщений: 66
Изя Кацман,

извините за беспокойство, уже сам решил вопрос.
15 ноя 12, 18:21    [13480032]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить