Ich schreibe eine Funktion, um einige CSV-Daten zu verarbeiten. Dies ist, was ich bisher geschrieben ...SQL Server Fehler?
CREATE FUNCTION dbo.FGetCommaSeperatedValues(@csv as text)
RETURNS @tblIds TABLE(id int,csvlength int)
AS
BEGIN
DECLARE @csvlength AS int
--SET @csvlength = datalength(@csv);
SET @csvlength = 7685
DECLARE @currentIndex AS int
SET @currentIndex = 0
WHILE @currentIndex < @csvlength
BEGIN
--INSERT INTO @tblIds SELECT @currentIndex,@csvlength
INSERT INTO @tblIds (id,csvlength) values (@currentIndex,@csvlength)
SET @currentIndex = @currentIndex+1
END
RETURN
END
Mein Problem ist, dass, wenn ich die Funktion ausführen, ... mit dem folgenden Befehl
SELECT * FROM FGetCommaSeperatedValues('')
Die Tabelle zurück zeigt nicht die Ergebnisse das erwarte ich.
Alles ist in Ordnung bis rund Zeile 3624 oder so (wie erwartet, id Spalte erhöht sich um 1) Dann werden die Werte unregelmäßig erhöht.
Mein Kollege hat diesen Code in SQL Server 2008 getestet und alles funktioniert einwandfrei. Dies scheint zu SQL Server 2000 isoliert zu sein.
Kennt jemand diesen Fehler, und/oder es ist die Auflösung?
Doh !, ja natürlich! –
Sie würden sich wundern, wie viele Menschen von diesem Fall erwischt wurden! –