
よろしくお願いします。
Pro*Cで作成しているのですが、カーソルの宣言時に指定するSQLをIF文で分けようとすると、
コンパイル時に「PCC-W-02332, SQLの識別子を再定義しようとしました。」が表示されます。
IFの結果がどうであれ、カーソルが取得するレイアウトが同一かつ、OPEN後の処理も同じように処理するため、できれば同一のカーソル名で行いたいです。
以下は今の状態を簡略化したプログラミングですが、
どのように対処するのが良いのでしょう。
Oracle10.2です。
よろしくお願いします。
-------------------------------------------------------
int flg;
<中略>
if ( flg == 0 ) {
EXEC SQL DECLARE curname CURSOR FOR
SELECT tbl.col1, 'flgが0です' AS col2 FROM tbl
;
} else {
EXEC SQL DECLARE curname CURSOR FOR
SELECT tbl.col1, 'flgが0以外です' AS col2 FROM tbl
;
}
EXEC SQL OPEN curname;
EXEC SQL WHENEVER NOT FOUND DO BREAK;
while(1) {
EXEC SQL FETCH rackBCCur INTO :retVals
<略>
}
-------------------------------------------------------
No.1ベストアンサー
- 回答日時:
すみません。
最近カーソル処理を書いてないんですが自分が思うにカーソル処理で帰ってくる行数は1行になるようSELECT文を書かなくてはいけなかった気がしますが。早速のご回答ありがとうございます。
よろしくお願いします。
恐らくINTOで指定する変数のことだと思います。
カーソルで抽出の定義をして(このときは複数行)、FETCHのところでそこから1行抽出し、INTOで指定した変数に値を入れます。
このとき、INTOで指定した変数には1行しか入りません。
なので、ほとんどの場合はFORやWHILEでループをして、毎行FETCHすることになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
カーソル定義での条件分岐
Oracle
-
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
引数によってwhere句を切り替える方法
Oracle
-
-
4
PL/SQLカーソルの2重FORループができません
Oracle
-
5
Statement ignored というエラー
Oracle
-
6
PL/SQL PLS-00103エラーについて
Oracle
-
7
カーソル0件の時にエラーを発生させる
Oracle
-
8
Oracleで上書きImportはできますか?
その他(データベース)
-
9
SELECTで1件のみ取得するには?
Oracle
-
10
【PL/SQL】FROM区に変数を使う方法
Oracle
-
11
PL/SQL内の共通関数の引数にフェッチしたレコードごと渡すのは可能?
Oracle
-
12
PL/SQLのプロシージャ間でカーソル?の受渡
その他(プログラミング・Web制作)
-
13
変数が選択リストにありません
Oracle
-
14
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
15
カーソルがコミットするとクローズされてしまう。
その他(データベース)
-
16
ストアドプロシジャからストアドプロシジャを呼ぶには?
Oracle
-
17
Pro c/c++ でホスト変数の後に.lenとか.arrの意味は?
C言語・C++・C#
-
18
PCC-S-02201エラーの対処を教えてください!
Oracle
-
19
PL/SQLのコンパイルエラーについて(ignored)
Oracle
-
20
PL/SQLでログを確認したい。
Oracle
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データ型でFloatとreal の計算...
-
わり算の結果が整数でも小数点...
-
カーソル0件の時にエラーを発生...
-
ストアドプロシージャ_カーソル...
-
クエリの実行時間の目安
-
カーソルオープンの処理について
-
300万件のデータの処理について
-
フィルターかけた後、重複を除...
-
差し込み後、元データを変更し...
-
エクセルで最後の文字だけ置き...
-
エラー 1068 (42000): 複数の主...
-
Outlook 送受信エラー
-
SQLで特定の項目の重複のみを排...
-
エクセルの関数について教えて...
-
1日に1人がこなせるプログラム...
-
Excel再起動でアドインのタブが...
-
クエリ表示と、ADOで抽出したレ...
-
PL/SQLの変数について
-
外部参照してるキーを主キーに...
-
for whichの使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カーソル0件の時にエラーを発生...
-
処理件数を非表示にしたい
-
カーソルを使って、最終行レコ...
-
カーソル宣言をIFで分けられま...
-
データ型でFloatとreal の計算...
-
NVLとDECODEのスピード差
-
(x 行処理されました)を表示さ...
-
ストアドプロシージャ_カーソル...
-
カーソルオープンの処理について
-
Accessで処理経過を表示したい...
-
クエリの実行時間の目安
-
定型メールからデターベースに...
-
RDBとVSAMの比較
-
テーブルの項目が異なるテーブ...
-
わり算の結果が整数でも小数点...
-
PL/SQLを使用した、プログラミ...
-
動的SQLの処理件数
-
【Oracle9i Gold】SQL*LOADERは...
-
PL/SQL で continue ?
-
MERGEコマンドについて
おすすめ情報