2

SQLでのカーソルの目的、使用法、実装についてインターネットで検索してみました。非常に本っぽいタイプの言語で非常に説明されている回答がいくつかあり、関数自体を理解するのに例が非常に複雑でした。データベース/SQLは初めてです。だから誰かが簡単な例でカーソルを説明できますか?

4

2 に答える 2

5

カーソルを使用すると、データに対して行単位で操作を実行できます。たとえば、T-SQL でテーブルの各行に対してストアド プロシージャを呼び出すと、次のようになります。

DECLARE @id_variable int

DECLARE the_cursor CURSOR
FOR SELECT id FROM SomeTable 

OPEN the_cursor
FETCH NEXT FROM the_cursor INTO @id_variable

WHILE @@FETCH_STATUS = 0
BEGIN
    EXEC MyStoredProcedure @id_variable

    FETCH NEXT FROM the_cursor INTO @id_variable
END

CLOSE the_cursor
DEALLOCATE the_cursor

一般に、カーソルは操作が面倒でパフォーマンスが低いため、可能であれば避ける必要があります。

于 2013-01-28T16:50:25.967 に答える
4

最も単純な形式では、カーソルを使用して結果セットの行を反復処理します。行をリスト内のオブジェクトと考えてください。カーソルを使用すると、その行だけにアクセスできます。

他のコーディング言語の foreach ループに慣れている場合は、多くの同じ機能を実行しています。

このリンクはあまり本っぽくありませんでした。本っぽくない説明

于 2013-01-28T16:51:45.070 に答える