for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  

Список Форумов  :: Не фоксом единым
   :: Помощь сайту :: 

Oracle with clause
boba
[MVP]

Сообщений: 5219
Откуда: Медвежьи озера-
Дата: 21.04.18 21:28:33ОтветитьЦитировать
Сделал некий прямой запрос с довольно длинным текстом, примерно 2 с половиной видимой страницы
в sql developer.
Потребовалось его использовать в двух ипостасях с union all
Сделали. Работает быстро.
Пытаюсь сделать из этой штуки view, не дает, говорит , нет там select
А он там есть
Пытаюсь записать результаты в таблицу, та же хрень.
Выглядит примерно так.
with bigquery as
(select чертовой сложности и длины)
select sum(smr), z from (
select sum(smr) as smr , z from bigquery where z= debet group by z
union all
select sum(-smr) as smr , z from bigquery where z= credit group by z)
group by z

Попытался сначала засунуть запрос в view,
но сразу упала в разы производительность.
Ratings: 0 negative/0 positive

Re: Oracle with clause
Igor Korolyov
Автор

Сообщений: 32097
Дата: 22.04.18 11:31:02ОтветитьЦитировать
asktom.oracle.com
Только не стоит рассчитывать на то что запросы к этому VIEW будут работать по тому же плану что и просто запрос начинающийся с WITH.


------------------
WBR, Igor
Ratings: 0 negative/0 positive

Re: Oracle with clause
boba
[MVP]

Сообщений: 5219
Откуда: Медвежьи озера-
Дата: 22.04.18 16:51:35ОтветитьЦитировать
Игорь, спасибо
Именно так я и пробовал и view создавать,
и insert в таблицу приладить.
Всякий раз говорит, нет select
Может, дело в длине конструкции,
хотя я в Оракл и побольше запросы толкал.
Завтра утром на свежую голову попробую еще
На sql.ru есть аналогичный вопрос.
Чел пишет пример с insert в конце конструкции.
Так я тоже пробовал.
Ratings: 0 negative/0 positive

Re: Oracle with clause
Igor Korolyov
Автор

Сообщений: 32097
Дата: 23.04.18 09:10:17ОтветитьЦитировать
Во-первых надо бы версию указывать.
Длина значения не имеет - вот вложенность WITH, насколько я в курсе, запрещена.
Во-вторых при чём тут инсерт? Вставка в такое представление без instead of триггеров точно не пройдёт, да и с ними вполне возможно что не получится. Не понимаю, зачем что либо вставлять в агрегированные данные... Или речь про использование данного запроса с WITH в части SELECT команды INSERT?


------------------
WBR, Igor
Ratings: 0 negative/0 positive

Re: Oracle with clause
boba
[MVP]

Сообщений: 5219
Откуда: Медвежьи озера-
Дата: 23.04.18 15:39:12ОтветитьЦитировать
insert вот причем.
Мне было нужно результаты запроса засунуть в таблицу , и не однократно,
а периодически ее дополнять.
Поэтому сначала пробовал вариант с insert
Когда он не получился, решил сделать представление, а insert
уж из него.
Версия сервера - 11.
Утром разобрался, в чем дело.
Эта штука ругается на отсутствие
select только первый раз.
Потом, как бы одумывается, и делает, что нужно.
Ищу сейчас эту фичу по форумам, если она есть.
Ratings: 0 negative/0 positive

Re: Oracle with clause
Гулин Федор

Сообщений: 3964
Откуда: Минск
Дата: 23.04.18 15:51:53ОтветитьЦитировать
я бы пошел по пути темп. таблицы в оракле
хотя она конечно геморна тем что надо создавать заранее в отличе от мс-скл

но если она юзается потом несколько раз - то по моему самое то.
Ratings: 0 negative/0 positive

Re: Oracle with clause
Igor Korolyov
Автор

Сообщений: 32097
Дата: 23.04.18 23:32:20ОтветитьЦитировать
11-х версий оракла 100500 штук самых разных. Вполне возможно что в твоей просто имеется ошибка, и нужен патч который эту ошибку исправляет. Чем выше "правые" номера, тем более стабильная (по идее) версия сервера. Но даже для самой "крайней" типа 11.2.0.4 будет огромное количество "исправлений ошибок", за которые, собственно говоря, и платят деньги те кто покупает данную СУБД
Да, если что, 11-я версия уже не поддерживается
В любом случае это в первую очередь вопрос к DBA данную БД обслуживающему/поддерживающему.

А по синтаксису и для CREATE VIEW AS ... и для INSERT INTO ... вполне можно использовать факторизованный запрос - т.е. WITH ... SELECT ...


------------------
WBR, Igor
Ratings: 0 negative/0 positive

Re: Oracle with clause
boba
[MVP]

Сообщений: 5219
Откуда: Медвежьи озера-
Дата: 24.04.18 09:43:27ОтветитьЦитировать
Конечно, я сразу проверил работу with с простым запросом и
insert с этой штукой.
Работает без вопросов, ни на что не ругается.
В рабочем запросе пара left join
на запросы , где 2-3 уровня с decode, max итд
Пока тут нет insert , create view все ок.
Как они появляются, есть фокусы.
Сервером Оракл рулят администраторы,
говорить им про какие-то патчи себе дороже.
Ratings: 0 negative/0 positive

Re: Oracle with clause
Igor Korolyov
Автор

Сообщений: 32097
Дата: 24.04.18 16:15:24ОтветитьЦитировать
Хозяин - барин. Если охота самому кушать кактус, лишь бы бородатый одмин спал спокойно - это наздоровье. Но в общем то это ИХ работа, а не твоя, как разработчика...


------------------
WBR, Igor
Ratings: 0 negative/0 positive



Извините, только зарегистрированные пользователи могут писать в этом форуме.

On-line: 48 and Guests: 48


© 2000-2018 Fox Club 
Яндекс.Метрика