HTMLフォームのボタンをクリックすると、ユーザー入力フィールドを更新しようとしています。これまでのところ、「ID の更新」ボタンをクリックすると、HTML フォームはパッケージ内の別のプロシージャを呼び出す必要があります。
入力フィールド ID は「localid」で、テーブルは GENERAL.GORADID と呼ばれ、列名は goradid_additional_id です。ただし、何らかの理由で btn をクリックしてプロシージャを呼び出すことはできますが、テーブルの列は更新されません。
-- plsql で送信するボタン -- (p_gre_id) というプロシージャのこのボタン
htp.formopen('BANINST1.HWKZLISS.P_UPDATE_ID','post');
htp.formsubmit('','Update ID');
htp.formclose;
-- 更新コード -- (p_update_id) というプロシージャ内
CURSOR C_UPDATE IS
SELECT
GORADID_ADDITIONAL_ID,
GORADID_PIDM,
SPRIDEN_PIDM
FROM GENERAL.GORADID, SATURN.SPRIDEN
WHERE GORADID_ADDITIONAL_ID IN localid
AND SPRIDEN_ID IN bannerid
AND SPRIDEN_CHANGE_IND IS NULL;
始める
FOR REC IN C_UPDATE LOOP
IF localid IS NOT NULL THEN
UPDATE GENERAL.GORADID
SET GORADID_ADDITIONAL_ID = localid
WHERE GORADID_PIDM = SPRIDEN_PIDM;
COMMIT;
END IF;
END LOOP;