
いつもお世話になっています。
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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access の SetFocus について教えてください 5 2022/08/04 07:32
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Windows 10 Windows11タスクバーやエクスプローラー、スタートメニュー 動画全画面時にカーソルが見えない 1 2022/04/08 00:03
- モニター・ディスプレイ マルチモニタでのカーソルの動き方 1 2022/06/15 14:59
- Windows 8 動画の再生とタイトルの変更方法を教えてください。 3 2022/08/01 14:51
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
- Word(ワード) ワード(2013)行間設定について 3 2023/08/08 09:27
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- iPad これまでタブレットは何台使ったか数え切れないほどですが、今回iPadを初めて手に入れました。 全体的 5 2022/08/07 18:34
- モニター・ディスプレイ 「.cur」のアイコン表示について 4 2023/03/04 10:21
このQ&Aを見た人はこんなQ&Aも見ています
-
カーソル0件の時にエラーを発生させる
Oracle
-
カーソルを使って、最終行レコードの判断はどうすればよいのでしょうか。
SQL Server
-
動的SQLの処理件数
Oracle
-
-
4
【Transact-sql】 execの結果をoutputパラメータに持たせたい
SQL Server
-
5
テーブルからのselectにおいてデータの有無により結果をわけたい
PostgreSQL
-
6
Transact-SQLでストアードプロシージャ・関数内でのみ有効なモジュールは作れますか?
SQL Server
-
7
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
8
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
9
引数によってwhere句を切り替える方法
Oracle
-
10
SQLで列名を変数にできないでしょうか
SQL Server
-
11
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
12
MS SQLServer のSQLで文字列の前にN:
その他(データベース)
-
13
T-SQLで任意の箇所で強制終了する方法
SQL Server
-
14
SQL>UPDATEと同時にその件数をCOUNTする方法
その他(データベース)
-
15
トランザクションログを出力せずにデータを削除する方法
Oracle
-
16
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
17
Access サブフォームでの選択行の取得
その他(データベース)
-
18
like演算子内に変数って使えないんですか?
その他(プログラミング・Web制作)
-
19
EXISTSを使ったDELETE文
SQL Server
-
20
SQLServerで文字列の末尾からある位置で取出
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PL/SQLのエラー処理について
-
ACCESSで一括処理する方法
-
SQLServer2008パフォーマンスUP...
-
インサート処理のスピード
-
データ型でFloatとreal の計算...
-
アナライズ
-
カーソル処理って?
-
PostgreSQLでVACUUMを実行した...
-
SQL-LOADERの逆のもの
-
誰か教えてください
-
ACCESSでテキストデータ...
-
差し込み後、元データを変更し...
-
identity属性の列に自動採番(SQL)
-
エクセルに見えない文字(JISX0...
-
jQueryで、カラム幅を変更でき...
-
複数テーブルのGROUP BY の使い...
-
NO WAR NO ABE
-
EXCELでの数式入力方法
-
for whichの使い方
-
select文で int を yyyy-mm-dd...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カーソル0件の時にエラーを発生...
-
処理件数を非表示にしたい
-
カーソルを使って、最終行レコ...
-
データ型でFloatとreal の計算...
-
ストアドプロシージャ_カーソル...
-
クエリの実行時間の目安
-
カーソル宣言をIFで分けられま...
-
NVLとDECODEのスピード差
-
カーソルがコミットするとクロ...
-
テーブルの項目が異なるテーブ...
-
SQL-LOADERの逆のもの
-
(x 行処理されました)を表示さ...
-
Accessで処理経過を表示したい...
-
ACCESSで一括処理する方法
-
PL/SQL で continue ?
-
カーソルオープンの処理について
-
動的SQLの処理件数
-
わり算の結果が整数でも小数点...
-
SQL plus で改行
-
RDBとVSAMの比較
おすすめ情報