powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / @@ERROR и хранимая процедура ( отцы научите неразумного!)
4 сообщений из 4, страница 1 из 1
@@ERROR и хранимая процедура ( отцы научите неразумного!)
    #32051582
Nook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имеем хранимую процедуру:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE PROC update_employee
AS 
BEGIN Transaction
insert into Employee(eid, fname, lname) values (NULL, 'fName','lName')
if @@Error<> 0  begin
ROLLBACK TRANSACTION
end
ELSE begin
COMMIT TRANSACTION
end

select * from Employee

в Query Analyzer запускаем "execute update_employee"

В INSERT происходит ошибка т.к. NULL нельзя вставлять и все... заканчивается работа кода, а как-же продолжение работы процедуры согласно

"Если ошибка была в хранимой процедуре или в самом пакетном запросе, то в переменной @@ERROR будет возвращен код ошибки и продолжится выполнение последующих команд уже вне транзакции"
см. http://www.relib.com/articles/article.asp?id=201

и под отладчиком тоже дальше INSERT не проходит... Обидно а :'-(
Где-же крутить-то???
...
Рейтинг: 0 / 0
@@ERROR и хранимая процедура ( отцы научите неразумного!)
    #32051625
Nook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ооо нашел... всем спасибо (вод ведь интерфейс какой - интуитивно понятный %-) )
...
Рейтинг: 0 / 0
@@ERROR и хранимая процедура ( отцы научите неразумного!)
    #32051630
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделайте так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE PROC update_employee
AS 
BEGIN Transaction
Save Transaction Save_Point_Name

  insert into Employee(eid, fname, lname) 
  values (NULL, 'fName','lName')

  if @@Error<> 0  BEGIN
    Rollback Transaction Save_Point_Name
    ROLLBACK TRANSACTION
  END ELSE 
    COMMIT TRANSACTION
  end

select * from Employee
...
Рейтинг: 0 / 0
@@ERROR и хранимая процедура ( отцы научите неразумного!)
    #32051632
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Если ошибка была в хранимой процедуре или в самом пакетном запросе, то в переменной @@ERROR будет возвращен код ошибки и продолжится выполнение последующих команд уже вне транзакции"

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


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