Hola amigos.
Estoy empezando el mundo delphi 7 y con base de datos sql2000
Tengo una tabla donde dos columnas de ellas forma un index unico: (serie, numero)
He creado la siguiente SP, para hacer una pruebas.
Código SQL
[-]
CREATE PROCEDURE insert_tab
AS
BEGIN
--SET XACT_ABORT ON
begin TRANSACTION
INSERT INTO dbo.aa_prueba ( serie, numero ) VALUES ( 1, 129 )
if @@error > 0 begin
--print 'bad insert...'
RAISERROR ('Bad insert....',16,1)
rollback TRANSACTION
return -1
END
else begin
print 'Good insert...'
commit TRANSACTION
return 0
end;
END
Por ahora estoy ejecutando el SP con el EMS-SQL
- Cuando ejecuto la primera vez - es todo correcto, incluyendo el mensaje 'Good insert...'
- Cuando doy por una segunda vez ( se sabe que ya existe ese registro ), no me imprime el error 'Bad Insert'...
Pero me emite un error en el mismo EMS-SQL asi:
Infracción de la restricción UNIQUE KEY 'aa_prueba_uq'. No se puede insertar una clave duplicada en el objeto 'aa_prueba'.
Se terminó la instrucción.
El error emitido por el EMS-SQL (que debo suponer que el sql le informa) es correcto... pero necesito que mi stored haga otro tipo de tareas despues del mensaje 'bad error'
Me ayudan?
Molusco