ホーム > Oracle Application Express API > APEX_ITEM > MULTI_ROW_UPDATEプロシージャ
MULTI_ROW_UPDATEプロシージャ |
![]() 前へ |
![]() 次へ |
このプロシージャは、複数行を更新するプロセス・タイプ内で使用します。このプロシージャでは、次の形式で複数行の更新定義を含む文字列を指定します。
OWNER:TABLE:pk_column1,pk_idx:pk_column2,pk_idx2|col,idx:col,idx...
構文
APEX_ITEM.MULTI_ROW_UPDATE(
p_mru_string IN VARCHAR2 DEFAULT)
RETURN VARCHAR2;
例
このプロシージャをアプリケーション・レベルのプロセスで間接的に使用するには、問合せを作成して、データベース・データのフォームを生成する必要があります。次の例に、emp表で複数行の更新を作成する方法を示します。
SELECT empno, APEX_ITEM.HIDDEN(1,empno), APEX_ITEM.HIDDEN(2,deptno), APEX_ITEM.TEXT(3,ename), APEX_ITEM.SELECT_LIST_FROM_QUERY(4,job,'SELECT DISTINCT job FROM emp'), APEX_ITEM.TEXT(5,sal), APEX_ITEM.TEXT(7,comm), APEX_ITEM.MD5_CHECKSUM(ename,job,sal,comm), deptno FROM emp WHERE deptno = 20
APEX_ITEM.MD5_HIDDENではなく、APEX_ITEM.MD5_CHECKSUMをコールすることに注意してください。APEX_ITEM.MULTI_ROW_UPDATEはAPEX_APPLICATION.G_FCSからチェックサムを取得するため、ページを送信する際に、APEX_APPLICATION.G_FCSを移入するためにAPEX_ITEM.MD5_CHECKSUMをコールする必要があります。また、APEX_ITEM.MD5_CHECKSUMの列の順序は、MULTI_ROW_UPDATEプロセスでの順序と同一である必要があります。これらの更新は、次のような文字列の複数の行の更新の送信後ページ・プロセスを使用して、処理(またはデータベースに適用)できます。
SCOTT:emp:empno,1:deptno,2|ename,3:job,4:sal,5:comm,7:,:,:,:,