powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Построчный дебаг в таблице
8 сообщений из 8, страница 1 из 1
Построчный дебаг в таблице
    #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
Построчный дебаг в таблице
    #39924520
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Den_KP,

PRINT поставьте. А ещё лучше используйте SSIS. Там Send Mail Task есть.
...
Рейтинг: 0 / 0
Построчный дебаг в таблице
    #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
Построчный дебаг в таблице
    #39924592
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Den_KP,

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

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

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

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

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


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