![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
よろしくお願いします。
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で質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
カーソル定義での条件分岐
Oracle
-
引数によってwhere句を切り替える方法
Oracle
-
カーソル0件の時にエラーを発生させる
Oracle
-
-
4
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
5
【PL/SQL】FROM区に変数を使う方法
Oracle
-
6
FROM の中で CASE を使えるでしょうか
SQL Server
-
7
PCC-S-02201エラーの対処を教えてください!
Oracle
-
8
Oracle 8i コンマ(,)を含むデータをinsertしたい
その他(データベース)
-
9
PL/SQLカーソルの2重FORループができません
Oracle
-
10
PL/SQLをWindowsのBATファイルで実行するには
Oracle
-
11
構造体のメンバをfor文で回したい
C言語・C++・C#
-
12
PRO*C コンパイルエラー
C言語・C++・C#
-
13
課題でつまってます・・・
C言語・C++・C#
-
14
ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています
Java
-
15
UPDATE文のWHERE条件に他のテーブルのフィールドも入れたい
SQL Server
-
16
カーソルを使って、最終行レコードの判断はどうすればよいのでしょうか。
SQL Server
-
17
PL/SQL PLS-00103エラーについて
Oracle
-
18
変数が選択リストにありません
Oracle
-
19
特定条件でWHERE句の条件を変更したい
SQL Server
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カーソル0件の時にエラーを発生...
-
処理件数を非表示にしたい
-
ACCESSで一括処理する方法
-
カーソルを使って、最終行レコ...
-
SELECT と INSERT の速度
-
SQL-LOADERの逆のもの
-
テーブルの項目が異なるテーブ...
-
データ型でFloatとreal の計算...
-
NVLとDECODEのスピード差
-
300万件のデータの処理について
-
ストアドプロシージャ_カーソル...
-
カーソルがコミットするとクロ...
-
クエリの実行時間の目安
-
わり算の結果が整数でも小数点...
-
差し込み後、元データを変更し...
-
止まなーい雨はない でもお前に...
-
エクセルVBAコードで教えて下さ...
-
フィルターかけた後、重複を除...
-
SELECT 文 GROUP での1件目を...
-
外部参照してるキーを主キーに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カーソル0件の時にエラーを発生...
-
処理件数を非表示にしたい
-
データ型でFloatとreal の計算...
-
カーソルを使って、最終行レコ...
-
ストアドプロシージャ_カーソル...
-
NVLとDECODEのスピード差
-
Accessで処理経過を表示したい...
-
SELECT と INSERT の速度
-
カーソル宣言をIFで分けられま...
-
ACCESSで一括処理する方法
-
SQL plus で改行
-
RDBとVSAMの比較
-
テーブルの項目が異なるテーブ...
-
クエリの実行時間の目安
-
300万件のデータの処理について
-
(x 行処理されました)を表示さ...
-
PL/SQL で continue ?
-
SQL-LOADERの逆のもの
-
わり算の結果が整数でも小数点...
-
カーソルがコミットするとクロ...
おすすめ情報