Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Построчный дебаг в таблице / 8 сообщений из 8, страница 1 из 1
10.02.2020, 07:11
    #39924508
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный дебаг в таблице
Всех с Новой боевой неделей!

Подскажите пожалуйста, как можно задебажить на какой строке падает ошибка при сравнении? Т,е. запустить этот скрипт и увидеть на какой итерации произошел сбой.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
use DB;
--select '%' + left(internetaddress, PATINDEX('%@%', internetaddress)-1) + '%' from NamesPerson
DECLARE @k smallint;
set @k = (select TOP 1 COUNT(Lastname) FROM NamesPerson Where shortname not like '%' + left(internetaddress, PATINDEX('%@%', internetaddress)-1) + '%' and AltFullName is not null);
if @k > 0
	BEGIN
		EXEC msdb.dbo.sp_send_dbmail
		@profile_name = 'SMTP Mail',
		@recipients = '@mail',
		@query = 'use DB; select Lastname FROM NamesPerson Where shortname not like ''%'' + left(internetaddress, PATINDEX(''%@%'', internetaddress)-1) + ''%'' and AltFullName is not null order by lastname' ,
		@subject = 'Не совпадают ShortName либо присутствует лишний (ShortName)',
		@attach_query_result_as_file = 1;
	END
...
Рейтинг: 0 / 0
10.02.2020, 08:17
    #39924520
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный дебаг в таблице
Den_KP,

PRINT поставьте. А ещё лучше используйте SSIS. Там Send Mail Task есть.
...
Рейтинг: 0 / 0
10.02.2020, 10:55
    #39924573
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный дебаг в таблице
a_voronin,

Вообще сделал так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
END TRY
BEGIN CATCH
SELECT
		ERROR_NUMBER() AS ErrorNumber,  
        ERROR_SEVERITY() AS ErrorSeverity,  
        ERROR_STATE() AS ErrorState,  
        ERROR_PROCEDURE() AS ErrorProcedure,  
        ERROR_LINE() AS ErrorLine,  
        ERROR_MESSAGE() AS ErrorMessage; 
END CATCH



Но мне результат не помог поэтому просто сделал:
Код: sql
1.
select * FROM NamesPerson Where shortname not like '%' + left(internetaddress, PATINDEX('%@%', internetaddress)-1) + '%' and AltFullName is not null;
...
Рейтинг: 0 / 0
10.02.2020, 11:37
    #39924592
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный дебаг в таблице
Den_KP,

добавьте в таблицу проверочное ограничение после устранения ошибок.
...
Рейтинг: 0 / 0
10.02.2020, 11:47
    #39924599
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный дебаг в таблице
Владислав Колосов,

Хранимкой? Или как то по другому?
...
Рейтинг: 0 / 0
10.02.2020, 12:07
    #39924610
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный дебаг в таблице
Den_KP,

можно использовать выражение или функцию. alter table .. add constraint ..
...
Рейтинг: 0 / 0
10.02.2020, 12:28
    #39924626
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный дебаг в таблице
Владислав Колосов,

А на уровне БД тригерром можно сделать? Или нужно приклад лопатить?
...
Рейтинг: 0 / 0
10.02.2020, 13:20
    #39924657
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Построчный дебаг в таблице
Den_KP,

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


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