次のように宣言されているカーソルがあります。
DECLARE staging_cur CURSOR FOR
SELECT
col1, col2, ......
FROM crawl_db.staging_listing
WHERE is_deleted = FALSE;
次に、各行をフェッチし、いくつかのチェックを実行してから、その行を別の (本番) データベースに挿入します
OPEN staging_cur;
the_loop: LOOP
FETCH staging_cur
INTO col1_val, col2_val,.....;
-- perform some checks and some optional inserts
-- for example, if city with given name is not found in production DB, insert it
-- insert into production db
END LOOP the_loop;
col1_val, col2_val ...
テーブル staging_listing ( ) の対応する列ごとに変数 ( ) を宣言する必要があることに気付きましたcol1, col2....
。問題は、このテーブルに 90 ~ 100 列が含まれており、すべての変数を宣言するのが非常に面倒なことです。
これよりも良い方法があるはずです。列の値を保持するために別の変数を宣言することなく、カーソルの現在の行の列にアクセスできる方法はありますか?