Wenn ich mit der Prozedur herumspiele, kann ich eine Rückgabe von -6 erhalten, wenn ich eine Null in foo.KeyCol einfüge und den RAISERROR im inneren Fang entferne. Das macht SQL Server und ist hier dokumentiert:Return Values from Stored Verfahren .