When deciding on a block datasource, consider the requirements:
A table is the most commonly used block datasource. Unless you have special needs, a table is the best choice for a block datasource.
Consider also the functional restrictions for each datasource type.
Datasource |
Allows Query |
Allows DML (INSERTS, UPDATES, and DELETES |
Allows Array Processing |
Allows Query by Example |
---|---|---|---|---|
Table |
yes |
yes |
yes |
yes |
View |
yes |
yes (certain Join views may not allow DML) |
yes |
yes |
FROM clause |
yes |
no |
yes (only for queried records) |
no |
Procedure |
yes |
no (if your procedure uses a ref cursor variable) |
no (if your procedure uses a table of records) |
no |
Transactional trigger |
yes |
yes |
no (if your trigger uses a table of records) |
no |
Note: You can specify separate query and DML datasources for a data block.
Query Data Source Type property
Using tables as block datasources
Using transactional triggers as block datasources
Using stored procedures as block datasources