
よろしくお願いします。
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
-
引数によってwhere句を切り替える方法
Oracle
-
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
-
4
PL/SQLカーソルの2重FORループができません
Oracle
-
5
カーソル0件の時にエラーを発生させる
Oracle
-
6
Oracleで上書きImportはできますか?
その他(データベース)
-
7
ストアドプロシジャからストアドプロシジャを呼ぶには?
Oracle
-
8
PCC-S-02201エラーの対処を教えてください!
Oracle
-
9
SELECTで1件のみ取得するには?
Oracle
-
10
PL/SQL内の共通関数の引数にフェッチしたレコードごと渡すのは可能?
Oracle
-
11
PL/SQLのプロシージャ間でカーソル?の受渡
その他(プログラミング・Web制作)
-
12
変数が選択リストにありません
Oracle
-
13
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
14
カーソルがコミットするとクローズされてしまう。
その他(データベース)
-
15
PL/SQLでログを確認したい。
Oracle
-
16
Statement ignored というエラー
Oracle
-
17
Pro c/c++ でホスト変数の後に.lenとか.arrの意味は?
C言語・C++・C#
-
18
【PL/SQL】FROM区に変数を使う方法
Oracle
-
19
ストアドの戻り値(配列)について
その他(データベース)
-
20
select句副問い合わせ 値の個数が多すぎます
Oracle
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カーソル0件の時にエラーを発生...
-
処理件数を非表示にしたい
-
カーソルオープンの処理について
-
oracle pl/sqlの処理速度について
-
カーソルを使って、最終行レコ...
-
わり算の結果が整数でも小数点...
-
データ型でFloatとreal の計算...
-
テーブルの項目が異なるテーブ...
-
Accessで処理経過を表示したい...
-
(x 行処理されました)を表示さ...
-
【PL/SQL】カンマ区切りのレコ...
-
1、Rstudioで回帰直線を求める...
-
フィルターかけた後、重複を除...
-
差し込み後、元データを変更し...
-
for whichの使い方
-
SQLで特定の項目の重複のみを排...
-
エクセルで最後の文字だけ置き...
-
外部参照してるキーを主キーに...
-
SELECT 文 GROUP での1件目を...
-
Outlook 送受信エラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カーソル0件の時にエラーを発生...
-
カーソル宣言をIFで分けられま...
-
処理件数を非表示にしたい
-
ストアドプロシージャ_カーソル...
-
データ型でFloatとreal の計算...
-
NVLとDECODEのスピード差
-
クエリの実行時間の目安
-
(x 行処理されました)を表示さ...
-
カーソルを使って、最終行レコ...
-
わり算の結果が整数でも小数点...
-
ACCESSで一括処理する方法
-
SQL-LOADERの逆のもの
-
カーソルオープンの処理について
-
カーソルがコミットするとクロ...
-
Accessで処理経過を表示したい...
-
テーブルの項目が異なるテーブ...
-
動的SQLの処理件数
-
300万件のデータの処理について
-
SQLについて WITH句とサブクエ...
-
SQL plus で改行
おすすめ情報