Oracle Apex - Tabular Form

Card Puncher Data Processing


A form that performs update, insert, and delete operations on multiple rows in a database table.

A tabular form is rendered as a report having updatable columns shown using various form elements.



This form includes a built-in multiple row update process that performs optimistic locking behind the scenes to maintain the data integrity.

Using the Create page Wizard you determine how rows are identified. You can either specify:

  • a primary key defined on the table, (PK Source: trigger, PL/SQL function, and sequence)
  • or a ROWID pseudo column,

which uniquely identifies a row in a table.


manually by creating a updatable report region or standard report region with updatable columns with custom PL/SQL page processes to process the tabular form data.


Unlike a single record from, tabular forms do not store data in session state. When a tabular form page is submitted, the tabular form data is processed using:

  • built-in data manipulation language (DML) (MRU and MRD),
  • or a custom PL/SQL page processes.




A tabular form with automatic DML has two processes for multi-row operations:

  • A Multi Row Update (MRU) process performs create and update operations
  • Multi Row Delete (MRD) process deletes requests on one or more rows

MRU and MRD processes reference the underlying table name and the primary key columns.


  • The primary key columns must be part of the tabular form SQL query,
  • The report columns must be either hidden or display-only (save state) (in order for the DML processes to be able to identify the correct records)


For new records, the primary key values must be NULL to be identified as new records.


Delete operations are performed by referencing row number of the row to be deleted.

Users can check one or more rows on the current page and when they click the Delete button, the row numbers identify the corresponding primary key value(s) and the matching rows are deleted.


You can reference the items values posted by an HTML form using the PL/SQL variable APEX_APPLICATION.G_F01 to APEX_APPLICATION.G_F50. Because this element is an array, you can reference values directly, for example:

    htp.p('element '||I||' has a value of '||APEX_APPLICATION.G_F01(i)); 



  • APEXROW_NUM refers the currently processed row number of a submitted tabular form data.
  • Use APEXROW_SELECTOR in validations, processes, and conditions associated with a tabular form to refer to the row selector check box in a tabular form. This placeholder returns X if the tabular form row selector check box of the currently processed tabular form row is checked and NULL if it unchecked

Documentation / Reference

Discover More
Card Puncher Data Processing
Oracle Apex - (Sql) Report (RPT)

A report can shown data as: mutable columns: When running a master detail form, data is rendered as a report. A tabular form is rendered as a report havingupdatable columns shown using various form...
Card Puncher Data Processing
Oracle Apex - Automatic Row Processing (DML)

Data Manipulation process: where: No SQL coding is required Lost update detection is implemented Lost update detection ensures data integrity in applications where data can be accessed concurrentlytabular...
Card Puncher Data Processing
Oracle Apex - Form

Forms are made up of fields (called items) stored procedure table or view query web service Master Detail form Tabular (Multiple row update) Summary (read-only form)
Card Puncher Data Processing
Oracle Apex - Master Detail Form

master detail A master detail form displays a master row and multiple detail rows within a single HTML form. With this form, users can insert, update, and delete values from two tables or views. A master...
Apex Automatic Dml Item Configuration
Oracle Apex - Simple Form

A simple form (ie not ) A form can be populated either: on load with PL/SQL or with an Automatic Row Fetch Step 1 - Create an HTML region (to serve as a container for your page items)....

Share this page:
Follow us:
Task Runner