powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Очень большой запрос
8 сообщений из 8, страница 1 из 1
Очень большой запрос
    #32043920
Fedorenkoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые мастера! Мне необходимо получить итоговый отчет деятельности фирмы, но у меня возникла следующая ситуация.Мой запрос состоит из 2033 строк. И при его выполнении возникает такая ошибка:
Changed language setting to us_english.
ODBC: Msg 0, Level 19, State 1
SqlDumpExceptionHandler: Process 12 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.

Connection Broken

Я не могу понять, что это за ошибка.
И если можно помогите пожалуйста оптимизировать запрос,т.к. он содержит много повторяющихся элементов. Вот его кусок:
Select 'Абонентная плата','КВС',
((select isnull(sum(p.Summa),0.00)
from Client c , Pers_Account p
where c.Branch=1 and c.Client=p.Client
and p.ServiceType=2
and (p.Period between '07.01.2002' and '08.01.2002'))-
(select isnull(sum(p.Summa),0.00)
from Client c , Pers_Account p , DEVICENUMBER d
where d.Fine>10 and p.Number=d.Number and (c.Branch=1)
and c.Client=p.Client and p.ServiceType=2
and (p.Period between '07.01.2002' and '08.01.2002'))),
(select isnull(sum(p.Summa),0.00)
from Client c , Pers_Account p , DEVICENUMBER d
where d.Fine>10 and p.Number=d.Number and (c.Branch=1)
and c.Client=p.Client and p.ServiceType=2
and (p.Period between '07.01.2002' and '08.01.2002')),0.00
union all
Select 'Абонентная плата','НХС с ндс',
((select isnull(sum(p.Summa),0.00)
from Client c , Pers_Account p
where c.Client=p.Client
and (c.Branch<>1 and c.Branch<>30)
and p.ServiceType=2
and (p.Period between '07.01.2002' and '08.01.2002'))-
(select isnull(sum(p.Summa),0.00)
from Client c , Pers_Account p , DEVICENUMBER d
where c.Client=p.Client and p.Number=d.Number
and (c.Branch<>1 and c.Branch<>30)
and p.ServiceType=2 and d.Fine>10
and (p.Period between '07.01.2002' and '08.01.2002'))),
(select isnull(sum(p.Summa),0.00)
from Client c , Pers_Account p , DEVICENUMBER d
where c.Client=p.Client and p.Number=d.Number
and (c.Branch<>1 and c.Branch<>30)
and p.ServiceType=2 and d.Fine>10
and (p.Period between '07.01.2002' and '08.01.2002')),
((select isnull(sum(p.Summa),0.00)
from Client c , Pers_Account p
where c.Client=p.Client
and (c.Branch<>1 and c.Branch<>30)
and p.ServiceType=2
and (p.Period between '07.01.2002' and '08.01.2002'))-
(select isnull(sum(p.Summa),0.00)
from Client c , Pers_Account p , DEVICENUMBER d
where c.Client=p.Client and p.Number=d.Number
and (c.Branch<>1 and c.Branch<>30)
and p.ServiceType=2 and d.Fine>10
and (p.Period between '07.01.2002' and '08.01.2002'))+
(select isnull(sum(r.Summa),0.00)
from Pers_Account p ,Recalc r,Client c
where r.Pers_Account=p.Pers_Account and c.Client=p.Client
and p.ServiceType=2
and OperationType in (1,3,5)
and (c.Branch<>1 and c.Branch<>30)
and (r.RDate between '07.02.2002' and '08.01.2002')))/5
union all
Select 'Абонентная плата','НХС без ндс',
((select isnull(sum(p.Summa),0.00)
from Client c , Pers_Account p
where c.Branch=30
and c.Client=p.Client and p.ServiceType=2
and (p.Period between '07.01.2002' and '08.01.2002'))-
(select isnull(sum(p.Summa),0.00)
from Client c , Pers_Account p , DEVICENUMBER d
where d.Fine>10 and p.Number=d.Number and (c.Branch=30)
and c.Client=p.Client and p.ServiceType=2
and (p.Period between '07.01.2002' and '08.01.2002'))),
(select isnull(sum(p.Summa),0.00)
from Client c , Pers_Account p , DEVICENUMBER d
where d.Fine>10 and p.Number=d.Number and (c.Branch=30)
and c.Client=p.Client and p.ServiceType=2
and (p.Period between '07.01.2002' and '08.01.2002')),0.00
union all
...

Помогите пожалуйста
...
Рейтинг: 0 / 0
Очень большой запрос
    #32043922
Tulkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО на самом деле он загинается из-за превышения допустимого количества подзапросов в одном селекте(когда-то давно это было 16,сколько в 2К -незнаю)
...
Рейтинг: 0 / 0
Очень большой запрос
    #32043924
dkstranger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчет в одном запросе - дурной тон.
Разбей на кусочки.
Промежуточные результаты имеет
смысл скидывать в таблицы
(можно, временные)
...
Рейтинг: 0 / 0
Очень большой запрос
    #32043951
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди!
Товарищи!
Где взять полный перечень признаков плохого тона?
Все уже в курсе, а я себя лохом ощущаю.
ПЛЗ!!!!!!!!
...
Рейтинг: 0 / 0
Очень большой запрос
    #32044013
rmatveev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точно такая-же ошибка возникла сегодня!
Но из-за линкованых серверов.
Перерегестрил - все пучком.

Changed language setting to us_english.
ODBC: Msg 0, Level 19, State 1
SqlDumpExceptionHandler: Process 12 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
...
Рейтинг: 0 / 0
Очень большой запрос
    #32045777
crot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
U menia toze takaia oshibka, kogda delau tot -ze zapros no dati menshe(naprimer tolko za poslednuu nedelu) to rabotaet, a esli za mesiac zagibaetsia.
Chto delat?
...
Рейтинг: 0 / 0
Очень большой запрос
    #32045795
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему-то мне кажется, что клиент в данном случае аксес, поправьте если не так.
В других ситуациях надо использовать сторед просиду с временной таблицей и все подселекты пихать в неё отдельными инсертами.
...
Рейтинг: 0 / 0
Очень большой запрос
    #32045820
CROT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Problema reshena ustanovkoi Servise Packa 2.
dli MSSQL2000.

Spasibo
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Очень большой запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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