db2 のテーブルの名前を返すテーブルをループするストア プロシージャが必要です。その名前に応じて、名前付きテーブルから select ステートメントを実行する必要があります。私は非常に多くの方法で「即時実行」でそれをやろうとしましたが、ここでカウントを失ったのは即時実行の例です:
set insertstring = 'INSERT INTO pribpm.TEMP_T_TOQUE_CICLO (idSemana,tiempo_ciclo,tiempo_toque)
SELECT to_number(to_char( '''|| ' time_stamp ' ||''' ,' || ' IW ' || ')) ,SUM(KPITOTALTIMECLOCK),SUM(s.KPIEXECUTIONTIMECLOCK) FROM ' || TABLA || ' where to_number(to_char( '''|| ' time_stamp ' ||''' ,' || ' IW ' || ')) between ' || (to_number(to_char(FECHA,'IW'))-3) || ' and ' || to_number(to_char(FECHA,'IW')) || ' GROUP BY to_number(to_char('''|| ' time_stamp ' ||''' ,' || ' IW ' || '))';
PREPARE stmt FROM insertstring;
EXECUTE IMMEDIATE insertstring;
ここで、tabla はテーブルの名前を含む文字列で、fecha はタイムスタンプ タイプの日付です
さらに、このようなカーソルで試しました
set select_ = 'SELECT time_stamp, KPITOTALTIMECLOCK, KPIEXECUTIONTIMECLOCK FROM ' || tabla;
PREPARE stmt FROM select_;
FOR v2 AS
c2 cursor for
execute select_
do
if to_number(to_char(time_stamp,'IW')) between
(to_number(to_char(fecha,'IW'))-3) and to_number(to_char(fecha,'IW')) then
--something here
end if;
END FOR;
しかし、成功しませんでした。
あなたまたは誰かが私のエラーをクリアするのを手伝ってくれますか、またはこれがやろうとしていることについて他のアイデアを教えてくれますか? これらすべてを db2 環境で