#2 の修正版です
-- ---------------------------------------------
-- 動的SQLの作成
-- ---------------------------------------------
C_SQL := DBMS_SQL.OPEN_CURSOR;
v_SQL := 'SELECT 項目1,項目2,項目3 FROM ' || i_TABLE_NM;
-- ---------------------------------------------
-- 動的SQLの解析
-- ---------------------------------------------
DBMS_SQL.PARSE(C_SQL ,v_SQL , DBMS_SQL.NATIVE);
FOR n_CNT IN 1..i_SU LOOP
t_MOJI(n_CNT) := '';
DBMS_SQL.DEFINE_COLUMN(C_SQL,n_CNT,t_MOJI(n_CNT),100);
END LOOP;
-- ---------------------------------------------
-- 動的SQLの実行
-- ---------------------------------------------
Y := DBMS_SQL.EXECUTE(C_SQL);
-- ------------------------------------------
-- フェッチ処理
-- ------------------------------------------
IF DBMS_SQL.FETCH_ROWS(C_SQL) = 0 THEN
EXIT;
END IF;
-- ------------------------------------------
-- 値の取得
-- ------------------------------------------
DBMS_SQL.COLUMN_VALUE(C_SQL ,1 , x); --xに項目1の値が入る
DBMS_SQL.COLUMN_VALUE(C_SQL ,1 , y); --yに項目2の値が入る
DBMS_SQL.COLUMN_VALUE(C_SQL ,1 , z); --zに項目3の値が入る
-------------------------------------------------
こんな感じ?
お礼
なんとなくは分かるんですが、この場合select文で取得したデータはどこに格納されてれるんですか??