|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.02.2012, 04:40 | #1 | |
220400
Форумчанин
Регистрация: 21.05.2010
Сообщений: 726
|
case и bulk collect в oracle 9i и выше
Код:
во втором выдается ошибка Цитата:
1) почему bulk collect не ест case? 2) если нельзя использовать bulk collect с case, то как можно вывернуться? пс: необходимо в pl/sql таблицу запихнуть содержимое большого запроса, в котором куча подзапросов и case'ов. пс2: есть идея все case переделать в union'ы: Код:
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам. Не учите человека, если вы не его учитель. Последний раз редактировалось Sparkman; 27.02.2012 в 04:55. |
|
27.02.2012, 09:55 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
Была похожая проблема. Решил ее двумя путями
1) Сделал функции, возвращающие таблицы, их и использовал (Работало но сложно получилось) 2) Выдавливал в временный курсор набор, а потом уже его применял в запросе. P.S. PL SQL штука капризная, и явно недоделанная.
I'm learning to live...
|
27.02.2012, 10:03 | #3 | |
220400
Форумчанин
Регистрация: 21.05.2010
Сообщений: 726
|
Цитата:
1) использование функций плохо сказывается на плане выполнения запросов 2) курсор, как и балк коллект возвращает ту же самую ошибку. Единственная вещь, которая "ест" мою выборку, это таблицы. Но лишние таблицы в базе не нужны, а временные не дают использовать.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам. Не учите человека, если вы не его учитель. |
|
12.03.2012, 08:38 | #4 |
220400
Форумчанин
Регистрация: 21.05.2010
Сообщений: 726
|
Чтобы тема не оставалась "мертвой", отвечу сам себе (как реализовал):
заменил все [case]ы на [union]ы - банально, но план запроса никак не пострадал, а [bulk collect] с удовольствием "сожрал" все это.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам. Не учите человека, если вы не его учитель. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Чат+шифрование(128 и выше) | MORPEH | Работа с сетью в Delphi | 6 | 12.12.2011 17:05 |
путь к файлу на каталог выше | Magnetic Air | Microsoft Office Excel | 24 | 30.03.2011 01:17 |
Загрузка процессора с выше 50% | Talemir | Общие вопросы Delphi | 8 | 14.01.2010 22:34 |