Ошибка не возвращается

alezz
Дата: 13.03.2001 16:38:13
На SQL Server 6.5 выполняется примерно следующее:

SELECT * INTO #Nakladn FROM dbo.nakladn WHERE 1=0
SELECT * INTO #Nspec FROM dbo.nspec WHERE 1=0
INSERT INTO #nakladn (поля) VALUES (значения)
INSERT INTO #nspec (поля) VALUES(значения)
EXEC NakladnRepl1 параметры
go

так вот если внутри продедуры возникает ошибка, то она не передается в блок!
И программа, выполняющая этот блок считает, что все выполнилось успешно.
Подскажите пожалуйста, каким образом можно решить эту проблему (если можно)?
Raiseerror не помогает. В более поздних версиях SQL Server это работает аналогично?
Glory
Дата: 13.03.2001 17:11:37
А если заставить процедуру возвращать какое-нибудь значение, в зависимости от результатов своего выполнения ?
Тогда на верхнем уровне как раз можно будет проверить успешность/неуспешность ее выполнения.
Garya
Дата: 13.03.2001 19:31:58
Поиграй параметром SET XACT_ABORT ON/OFF.