Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.18;
Скачать: CL | DM;

Вниз

Обработка ошибок внутри транзакции   Найти похожие ветки 

 
@dim   (2007-06-29 09:37) [0]

Есть некоторый код обрабатывающий ошибки в процедуре обновления записи в таблице
  SELECT @Count = count(*) FROM Operation
  WHERE OperationName = @name
  AND MakeKod = @makekod  

   IF @Count>1 --произошла ошибка
         BEGIN
             raiserror 13000  "Повторяющееся значение атрибута"
             ROLLBACK TRAN
             return -100
          END

работает нормально. Но Почему - то сообщение в приложение не приходит. В чем причина?


 
Ega23 ©   (2007-06-29 09:54) [1]

Так попробуй:
RAISERROR (N"Повторяющееся значение атрибута", 16, 1)


 
@dim   (2007-06-29 11:09) [2]


> Ega23 ©  

Что изменится?


 
Fay ©   (2007-06-29 12:54) [3]

set nocount on ?


 
_MaSteR_NN_   (2007-07-04 09:46) [4]

А вы думаете ROLLBACK TRAN и return -100 будут отработаны? Конечно не будут. Догадались о чём я?


 
ЮЮ ©   (2007-07-05 05:00) [5]

> А вы думаете ROLLBACK TRAN и return -100 будут отработаны?
> Конечно не будут. Догадались о чём я?


В конце-концов можно поменять местами
 ROLLBACK TRAN
 RAISERROR("Повторяющееся значение атрибута", 16, 1)
 RETURN

P.S. А разве это дело процедуры откатывать транзакцию, которую она не начинала?
В рамках транзакции выполняется только эта процедура или ещё есть что-то в пакете?


 
clickmaker ©   (2007-07-05 09:26) [6]


> @dim   (29.06.07 09:37)

а почему повторяющееся значение выясняется "задним числом" - селектом?
Не проще ли перед обновлением проверить?


 
dimaL   (2007-07-05 10:19) [7]


> а почему повторяющееся значение выясняется "задним числом"
> - селектом?
> Не проще ли перед обновлением проверить?

Каким образом, если процедура на обновление записи?


 
clickmaker ©   (2007-07-05 10:59) [8]


> Каким образом

if exists (select * from Operation
 WHERE OperationName = @name
 AND MakeKod = @makekod )
then
 raiserror 40001 "Повторяющееся значение атрибута"
else
 update...


 
sniknik ©   (2007-07-05 11:38) [9]

а не лучше ли просто сделать уникальный индекс по этим полям, чем вообще чтото городить?



Страницы: 1 вся ветка

Текущий архив: 2007.11.18;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.057 c
2-1193617178
Nikola
2007-10-29 03:19
2007.11.18
Отображение данных в DBGrid


2-1193317094
timekiller
2007-10-25 16:58
2007.11.18
XML, TComboBox


1-1188456635
mefodiy
2007-08-30 10:50
2007.11.18
Проблема с выводом данных в QRPrinter


2-1193247805
Б. Гейтс
2007-10-24 21:43
2007.11.18
Массив - как организовать? (без array и на АПИ)


2-1192231378
Pacific
2007-10-13 03:22
2007.11.18
Не качает





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский