2009-08-20 12 views
2

私はいくつかのCSVデータを処理する関数を書いています。これは私がこれまでに書かれたものである...SQL Serverのバグ?

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 

私の問題は、テーブルが返された結果を表示しません

SELECT * FROM FGetCommaSeperatedValues('') 

...私は、次のコマンドを使用して、関数を実行するときということです私は期待しています。

約3624行程度までは問題ありません(id列が1増加します) 値が不規則に増加します。

私の同僚はこのコードをSQL Server 2008でテストし、すべて正常に動作します。これは、SQLサーバー2000に分離されているようです。

誰でもこのバグについて知っていますか?

答えて

4

SQL Serverの並べ替え順序 ORDER BY句を使用する必要があります。

ORDER BY CLAUSE

+0

Doh!もちろんです! –

+0

あなたはこの人がどれくらい多くの人にキャッチされているのに驚くでしょう! –