Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Житель парагвая Member Откуда: Сообщений: 185 |
есть определенный запрос, он падает на приведении строки к гуиду. Падает соответственно на какойто строке, так как он рабочий и долго работал нормально. Но чтото пошло не так. Как записать в лог ту строку на которой падает? try catch может както? |
14 июн 17, 13:46 [20563610] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Житель парагвая, если версия 2012+ SELECT * FROM Table WHERE TRY_CONVERT(uniqueidentifier,Column) IS NULL если нет то нагуглить проверку типа CREATE FUNCTION dbo.isuniqueidentifier (@ui varchar(50)) RETURNS bit AS BEGIN RETURN case when substring(@ui,9,1)='-' and substring(@ui,14,1)='-' and substring(@ui,19,1)='-' and substring(@ui,24,1)='-' and len(@ui) = 36 then 1 else 0 end END |
14 июн 17, 13:51 [20563628] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
или вот посимпатичнейWHERE Column NOT LIKE REPLACE('00000000-0000-0000-0000-000000000000', '0', '[0-9a-fA-F]') |
14 июн 17, 13:53 [20563635] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 3986 |
сомнительный критерий, совсем. |
||
14 июн 17, 14:43 [20563856] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
Житель парагвая, так выполняйте валидацию данных до вставки. |
14 июн 17, 15:09 [20563986] Ответить | Цитировать Сообщить модератору |
Cammomile Member Откуда: Сообщений: 1214 |
Житель парагвая, для начала неплохо понять какого рода запрос и как именно он поломался. |
14 июн 17, 16:35 [20564412] Ответить | Цитировать Сообщить модератору |
Cammomile Member Откуда: Сообщений: 1214 |
Например с инсертами можно определиться вот так DECLARE @Table TABLE ( x tinyint ) BEGIN TRY INSERT INTO @Table SELECT 1 UNION SELECT 2 UNION SELECT 'a' END TRY BEGIN CATCH PRINT Error_Message( ) END CATCH |
14 июн 17, 16:37 [20564418] Ответить | Цитировать Сообщить модератору |
VGalamakh Member Откуда: Киев (Альба) Сообщений: 66 |
1. Делаешь селект с ордер бай. 2. Падает 3. Потом селект без приведения 4. Смотришь на строку - (Количество строк в п.1) + 1 |
15 июн 17, 17:37 [20567865] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9646 |
|
||
15 июн 17, 18:59 [20568157] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |