![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
PL/SQLで、複数データをLOOPで
読み込む処理を行います。
TYPE T_CHR IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
vc_data T_CHR;
FOR cur_01 IN rec_01 LOOP
vc_data(1) := rec_01.SHOHIN1
vc_data(2) := rec_01.SHOHIN2
vc_data(3) := rec_01.SHOHIN3
vc_data(4) := rec_01.SHOHIN4
・・・・・
vc_data(50) := rec_01.SHOHIN50
END LOOP;
上記のような処理をしたいのですが、vc_dataに
セットする処理を、Loopでできないですか?
FOR n_count IN 1..50 LOOP
vc_data(n_count) := rec_01(n_count);
END LOOP;
のようなかんじで。。。
今は50個羅列したままです。
でも、上のような処理は、エラーでした。
rec_01は、
rec_01.SHNNO1
のように、列名を指定する以外方法はないのでしょうか?
初歩的な質問ですみませんが、よろしくおねがいします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
質問の意図の読み違いでしたらごめんなさい。
まず、rec_01は何かのレコードなんでしょうか?
ならばVARCHAR2型のvc_dataに変数代入はできないですよね?
この場合vc_dataを構造体にしてあげれば変数代入できるとおもいます。こんな感じで宣言してあげれば良いのでは無いでしょうか
【例】
TYPE SHOHN_TYPE IS RECODE
(
SHOHN1 VARCHAR2(30) := NULL,
SHOHN2 VARCHAR2(30) := NULL,
・
・
・
SHOHN50 VARCHAR2(30) := NULL);
TYPE t_SHOHN_TYPE IS TABLE OF SHOHN_TYPE INDEX BY BINARY_INTEGER;
v_SHO_NULL t_SHOHN_TYPE; -- 初期化用
v_SHO t_SHOHN_TYPE; -- 変数代入用
No.1
- 回答日時:
こんにちは。
カーソルとレコード型がいきなり登場してくるので、詳細が不明なんですが・・・、
OPEN cur_01;
FOR n_count IN 1..50 LOOP
FETCH cur_01 INTO rec_01;
vc_data(n_count) := rec_01.SHNNO1;
END LOOP;
CLOSE cur_01;
絶対に50個と決まってるのなら、これでいいんじゃないかなぁ・・・?
(^^ゞ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Visual Basic(VBA) 1つの入力フォルダの値を読み込み、3分割をして新しい変数に代入する方法を教えていただきたいです。 読 4 2022/10/17 20:52
- その他(プログラミング・Web制作) Python - Excel で Webからデータを連続取得したいのですが エラーが出ます 1 2023/07/06 20:08
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- Visual Basic(VBA) vbaのループ処理について 6 2022/05/06 15:35
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- 英語 data について 6 2023/03/25 11:05
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mysqlのcase文で複数の条件を指...
-
PL/SQLでカーソルを指定する方法
-
カーソル定義での条件分岐
-
PL/SQLでのSQL文法
-
PL/SQLカーソルの2重FORループ...
-
自動連番でカラムを更新したい
-
Texの枠囲み調節
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
Statement ignored というエラー
-
VBA プロシージャの名前の取得
-
sqlplusのspoolで空白行出現
-
今日の日付が入った行のデータ...
-
sqlplusでヘッダーが付かない
-
エクセルVBAでUserFormを起動し...
-
callで順に実行されるプロシー...
-
ODBCリンクの際にACCESSでは読...
-
ストアド実行時のエラー「参照...
-
全角空白のTRIMができない...
-
SQLサーバで和暦から西暦に変換...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PL/SQLカーソルの2重FORループ...
-
PL/SQLでのSQL文法
-
Texの枠囲み調節
-
カーソル定義での条件分岐
-
自動連番でカラムを更新したい
-
ORA-00904:無効な識別子の回避...
-
PL/SQLのOPEN cursor_name FOR...
-
カーソルフェッチにて、最終レ...
-
文字列の置換
-
T-SQLのカーソルで
-
[Oracle9i]PL/SQLでFETCHしても...
-
PL/SQL カーソルのFROM句にカー...
-
PL/SQLでの参照
-
PL/SQLにて、マスタから取得し...
-
カーソルで集合関数を使った場...
-
カーソルループ内部でログを出力
-
【PL/SQL】LOOPした動的SQLにて...
-
PL/SQLのカーソルについて
-
PL/SQLでカーソルを指定する方法
-
ROW_NUMBER BY PL/SQL
おすすめ情報