
いつもお世話になっています。
SQLServer7.0です。
ストアドプロシージャでカーソルを使用し、オープンしたカーソルの件数を調べたいのですがうまくいきません。
Declare curs2 cursor for
Select [項目名]
From [テーブル名]
Where [検索条件]
Open curs2
Print @@CURSOR_ROWS
この「@@CURSOR_ROWS」変数でヒット件数を取得できるように参考書では書いてあるのですが、実際Printしてみると、カーソルをオープンする前だと 0 で、オープンした後だと-1 です。
特にエラーだとか、対象データがないというわけではありません。実際その後ヒットした件数分行う処理は正常に出来ています。
ただ、どうしても処理を行う前に件数を知りたいのです。カーソルの変数だけでは取れないとなると セレクトしたカーソルと全く同じセレクトを実行して@@ROWCOUTで取るしかないかなって思ってるのですが・・・。どうも建設的ではないなって思ってます。
カーソルの件数を取得するにはどうしたらよいのでしょうか?
No.1ベストアンサー
- 回答日時:
一回
Select count([項目名])
From [テーブル名]
Where [検索条件]
とやって、数を取り出してから カーソルのほうを
やったらどうでしょうか?
あと
参考URLでは
SELECT @@CURSOR_ROWS
で取得しているみたいですが・・・。
参考にならなかったら失礼。
参考URL:http://www.horikawa.ne.jp/msde/gihyo/sql07/sql07 …
お礼が遅くなってしまい申し訳ありません。
参考URLなどを調べさせていただいて、どうやら@@CURSOR_ROWS で正確な値が取れるのは「同期カーソル」の状態でないといけないことがわかりました(意味あんまりわかってないですが``r(^^;)ぽりぽり)
今回はアドバイスどおり最初にセレクトして件数を取り出してから以降の処理を行いたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
カーソルを使って、最終行レコードの判断はどうすればよいのでしょうか。
SQL Server
-
カーソル0件の時にエラーを発生させる
Oracle
-
動的SQLの処理件数
Oracle
-
-
4
【Transact-sql】 execの結果をoutputパラメータに持たせたい
SQL Server
-
5
引数によってwhere句を切り替える方法
Oracle
-
6
Transact-SQLでストアードプロシージャ・関数内でのみ有効なモジュールは作れますか?
SQL Server
-
7
テーブルからのselectにおいてデータの有無により結果をわけたい
PostgreSQL
-
8
like演算子内に変数って使えないんですか?
その他(プログラミング・Web制作)
-
9
SQL>UPDATEと同時にその件数をCOUNTする方法
その他(データベース)
-
10
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
11
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
12
MS SQLServer のSQLで文字列の前にN:
その他(データベース)
-
13
T-SQLで任意の箇所で強制終了する方法
SQL Server
-
14
復旧中のデータベースについて
SQL Server
-
15
EXISTSを使ったDELETE文
SQL Server
-
16
SQLで列名を変数にできないでしょうか
SQL Server
-
17
GROUP BYでエラーが発生
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カーソル0件の時にエラーを発生...
-
クエリの実行時間の目安
-
カーソル宣言をIFで分けられま...
-
データ型でFloatとreal の計算...
-
SELECT と INSERT の速度
-
SQL-LOADERの逆のもの
-
NVLとDECODEのスピード差
-
わり算の結果が整数でも小数点...
-
(x 行処理されました)を表示さ...
-
カーソルがコミットするとクロ...
-
ストアドプロシージャ_カーソル...
-
アナライズ
-
oracle pl/sqlの処理速度について
-
Accessで処理経過を表示したい...
-
カーソルを使って、最終行レコ...
-
RDBとVSAMの比較
-
フィルターかけた後、重複を除...
-
SELECT 文 GROUP での1件目を...
-
外部参照してるキーを主キーに...
-
差し込み後、元データを変更し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カーソル0件の時にエラーを発生...
-
処理件数を非表示にしたい
-
カーソルを使って、最終行レコ...
-
カーソル宣言をIFで分けられま...
-
データ型でFloatとreal の計算...
-
NVLとDECODEのスピード差
-
(x 行処理されました)を表示さ...
-
ストアドプロシージャ_カーソル...
-
カーソルオープンの処理について
-
Accessで処理経過を表示したい...
-
クエリの実行時間の目安
-
定型メールからデターベースに...
-
RDBとVSAMの比較
-
テーブルの項目が異なるテーブ...
-
わり算の結果が整数でも小数点...
-
PL/SQLを使用した、プログラミ...
-
動的SQLの処理件数
-
【Oracle9i Gold】SQL*LOADERは...
-
PL/SQL で continue ?
-
MERGEコマンドについて
おすすめ情報