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

Откуда:
Сообщений: 1574
ДД, есть процедура, по мониторингу данных,, запускается джобом.
Она состоит из 10 запросов, и я обнаружил, что если первый запрос выпадает в ошибк, то процедура останавливает и не идет дальше проверять...как сделать так , что если вышла ошибка, процедура дальше идет по другим запросам работать?

1) insert into _Monitoring_dima
(txt_msg)
(select
+ 'Дата=' + convert(varchar(20),GETDATE(),120) + ', Задержка на ' + convert(varchar,DATEDIFF(ss, time, convert(varchar(20),GETDATE(),120))/60) + ' минут' txt_msg
from (select max(start) time from cars1 where type>10')

2) insert into _Monitoring_dima
(txt_msg)
(select
+ 'Дата=' + convert(varchar(20),GETDATE(),120) + ', Задержка на ' + convert(varchar,DATEDIFF(ss, time, convert(varchar(20),GETDATE(),120))/60) + ' минут' txt_msg
from (select max(start) time from cars2 where type>10')

3) insert into _Monitoring_dima
(txt_msg)
(select
+ 'Дата=' + convert(varchar(20),GETDATE(),120) + ', Задержка на ' + convert(varchar,DATEDIFF(ss, time, convert(varchar(20),GETDATE(),120))/60) + ' минут' txt_msg
from (select max(start) time from cars3 where type>10')
....и т.д.

если например валится запрос 2, то 3 не отрабатывается, как сделать чтоб не стопилась процедура?
9 окт 12, 09:28    [13288294]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по запросу  [new]
invm
Member

Откуда: Москва
Сообщений: 9824
Сделать так, чтобы не было "запрос выпадает в ошибк".
9 окт 12, 09:42    [13288347]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по запросу  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
invm
Сделать так, чтобы не было "запрос выпадает в ошибк".

Ещё try catch , XACT_ABORT ... Ошибка -то какая ?
9 окт 12, 09:46    [13288367]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по запросу  [new]
dimakz
Member

Откуда:
Сообщений: 1574
что таблица не существует или партиция
9 окт 12, 10:37    [13288625]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по запросу  [new]
invm
Member

Откуда: Москва
Сообщений: 9824
1. Запросы завернуть в динамику. Перед выполнением каждого проверять наличие объектов.
2. Отказаться от процедуры. Каждый запрос -- отдельный шаг джоба. Настроить переход на следующий шаг при ошибке.
9 окт 12, 11:07    [13288845]     Ответить | Цитировать Сообщить модератору
 Re: вопрос по запросу  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Определение недоступности линкед-сервера
9 окт 12, 21:27    [13292717]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить