BEISPIEL
HINWEIS
BEISPIEL
Verwenden von @@ERROR
CREATE PROCEDURE test
@Id int,
@nachname varchar(40),
@vorname varchar(20)
AS
INSERT INTO Personen VALUES(@id,@nachname,@vorname)
IF @@ERROR <> 0
RETURN(101)
ELSE
RETURN(0)
Das aufrufende Programm kann den Error-Code über die Parameter abfragen.
Sie sollten @@ERROR grundsätzlich in einer Variablen speichern, da mit der Ausführung weiterer SQL-
Anweisungen der Wert von @@ERROR zurückgesetzt wird (ein gern gemachter Fehler).
Verwenden von RAISEERROR
Mit der RAISEERROR-Anweisung lösen Sie aus der T-SQL-Routine heraus einen Fehler aus, dessen
Meldung Sie in Ihrem Programm auswerten und/oder anzeigen können. Zusätzlich können die Meldungen
auch im SQL Server-Fehlerprotokoll und im Microsoft Windows-Anwendungsprotokoll erscheinen.
Die Syntax:
RAISEERROR ({Message_id | Message_String}
{, Schweregrad, Status} [, Argumente[,...n]] )
[WITH option[,...n]]
Beim Aufruf können Sie entweder direkt einen Meldungstext übergeben, oder Sie rufen eine benutzer-
definierte Fehlermeldung über deren ID auf. Zusätzlich übergeben Sie noch den Schweregrad (z.B. 16) und
den Status (ein Wert zwischen 1 und 127).
Option kann folgende Werte annehmen:
LOG: Der Fehler wird in das Fehler- und Anwendungsprotokoll des Servers eingetragen. Im Server-
Fehlerprotokoll enthaltene Fehler sind auf maximal 440 Byte beschränkt.
NOWAIT: Sendet Meldungen sofort an den Client.
SETERROR: Legt den @@ERROR-Wert auf msg_id oder 50.000 fest, unabhängig vom Schweregrad.
Aufruf einer Meldung
...
IF (@neuesgehalt > 5000)
BEGIN
RAISERROR ('Sind Sie sicher? Schade um das Geld!',16,-1)
655
Fehlerbehandlung

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.