Wie man sql-Fehler in der gespeicherten Prozedur

Ich bin mit SQL Server 2005. Ich erstellt eine gespeicherte Prozedur, die meiste Zeit über funktioniert, aber ich fand ein Beispiel, wo es nicht tun, was ich will.

Aktuell ist der code so etwas wie dieses

if @@error <> 0
  begin
   select @message_error = "There was a database error adding product "+ @product + " to product line
  end

Wo @message_error ist eine output-variable.

So, ich kann select @@error und erhalten eine Zahl, aber alles, was ich wirklich will, ist der SQL-Fehler.

Etwas wie Hey, ich konnte nicht tun dies, weil es einen fk-constraint auf diese Spalte oder was auch immer. Ich fand diesen Artikel auf der msdn-Website
http://msdn.microsoft.com/en-us/library/ms178592(v=sql.90).aspx

Aber es geht nur über auslösen benutzerdefinierter Ausnahmen mit RAISERROR ich will nicht meine eigene Fehlermeldung, oder die Ausnahme, ich möchte nur wissen, warum Dinge nicht funktionieren. Ich kann die gespeicherte Prozedur ausführen, durch Management-Studio und sehen die genauen SQL-Fehler, aber das ist mühsam versucht, die Daten von der Website und manuell einfügen das es so ist.

Wie bekomme ich den SQL Fehler text in eine output-variable?

InformationsquelleAutor Steve's a D | 2012-11-30

Schreibe einen Kommentar