Ich habe eine gespeicherte Prozedur in einer alten SQL 2000-Datenbank, die eine Kommentarspalte, die als Varchar formatiert ist, übernimmt und als Geldobjekt exportiert. Zu der Zeit, als diese Tabellenstruktur eingerichtet wurde, wurde angenommen, dass dies die einzigen Daten sein würden, die in dieses Feld gelangen. Die aktuellen Verfahren funktioniert einfach dies folgt aus:Wie tryParse in SQL 2000?
SELECT CAST(dbo.member_category_assign.coment AS money)
FROM dbo.member_category_assign
WHERE member_id = @intMemberId
AND
dbo.member_category_assign.eff_date <= @dtmEndDate
AND
(
dbo.member_category_assign.term_date >= @dtmBeginDate
OR
dbo.member_category_assign.term_date Is Null
)
jedoch werden Daten nun in dieser Spalte eingefügt wird, die nicht zu einem Geld Objekt geparst und verursacht das Verfahren zum Absturz bringen. Ich bin nicht in der Lage, die "schlechten" Daten zu entfernen (da dies ein Produkt eines Drittanbieters ist), muss aber die gespeicherte Prozedur aktualisieren, um einen Geld-Parsable-Eintrag zu testen und diesen zurückzugeben.
Wie kann ich diese Prozedur aktualisieren, sodass nur der Wert zurückgegeben wird, der als Geldobjekt analysiert werden kann? Erstelle ich eine temporäre Tabelle und durchlaufe jedes Element, oder gibt es dafür einen clevereren Weg? Ich stehe mit Legacy SQL 2000 (Version 6.0) fest, daher ist die Verwendung einer der neueren Funktionen leider nicht verfügbar.
Schön! Lief wie am Schnürchen! Vielen Dank! –