Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
exception в storage procedure
|
|||
|---|---|---|---|
|
#18+
Hi All Столкнулся со следущей проблемой надо словить exception в MS SQL пишу storage procedure м во времени добавления или update хочу перехватывать исключения а то если ошибка то сразу вылетаю в клиентский код(use JDBC) В ORACLE есть обработка exception а как сделать это в MSSQL. for example: INSERT INTO PARTID (ID,CREATED,PRINCIPAL,CREDENTIALS) VALUES (9,'01/01/2002','Hello','the second position') выдает ошибку Server: Msg 2627, Level 14, State 1, Line 1 Violation of PRIMARY KEY constraint 'PK_PARTID'. Cannot insert duplicate key in object 'PARTID'. The statement has been terminated. Как сделать так чтобы не вылетало исключение В ORACLE это делается так: e_normal_exit EXCEPTION; BEGIN INSERT INTO PARTID (ID,CREATED,PRINCIPAL,CREDENTIALS) VALUES (9,'01/01/2002','Hello','the second position') RAISE e_normal_exit; EXCEPTION WHEN e_normal_exit THEN RETURN( TRUE ); WHEN OTHERS THEN RETURN( FALSE ); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2002, 10:22 |
|
||
|
exception в storage procedure
|
|||
|---|---|---|---|
|
#18+
После выплнения скрипта об ошибке можно узнать по значению системной переменной @@ERROR (если не 0 - то ошибка). Так же надо поставить SET XACT_ABORT OFF. Тогда скрипт даже после ошибки в INSERT продолжит выполнение и можно будет отработать ошибку: SET XACT_ABORT FALSE INSERT INTO PARTID (ID,CREATED,PRINCIPAL,CREDENTIALS) VALUES (9,'01/01/2002','Hello','the second position') IF @@ERROR <> 0 RETURN 1 RETURN 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2002, 12:35 |
|
||
|
exception в storage procedure
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ но это проблему не решает так как при вызове storage procedure из java с помощью JDBC все равно подхватиться исключение и в результате выполнение прервется в Oracle можно обработать исключение и после этого оно дальше не пойдет а как это сделать в MSSQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2002, 14:40 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32025070&tid=1823575]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
97ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 452ms |

| 0 / 0 |
