データを処理するときに手続き型プログラミングが絶対に避けられないことがあります。カーソルは本当に「正しい」選択肢ですか?
私は現在、いくつかのレガシーコードの最適化に取り組んでいます。それはIF
/ELSE
ステートメントとBEGIN
/END
などの63ペアのカーソルを使用します。私はカーソルをリバースエンジニアリングして手続きプロセスにしたいと考えていました。今私はアルゴリズムの解読の終わりにあり、実現しています。 。 。 ooops ...それはを持っていますが、レコード上の各選択は、前のすべてのレコードのプロセスの結果によって決まるため、手続き的です。
これで私は破損しています... SQL Server処理(CLR SP、UDFなど)でプロシージャコードを混合するための選択肢があります。私は仕事のための適切なツールを使用することを大いに信じているので、私はこれのために.NET CLR SPを作ることに傾いています。しかし、カーソルをちょっと単純化する方が速くて簡単ですが、まだをカーソルにしておきます。
あなたはどう思いますか? SQL Serverを使用して.NETモジュールにアクセスできるようになったので、カーソルを使用することはもう適切ではありませんか?
カーソル以外の手続き的な反復処理にはどのようにお勧めしますか?そして、いいえ、これは手続き的でなければなりません。私はこれについて多くのことを考え、それを切り裂き、セットベースで行う方法はありません。 – richard
悪い例を追加 –
[これは、正しいオプションが指定されたカーソルを使用するより効率的ではないとは思っていません](http://bradsruminations.blogspot.com/2010/05/truth-about-cursors-part-1。 html) –