Obj- operations generate their own SQL while RDB- operations rely on the query written in Rule-Connect-SQL instances. Unless there is a need for custom SQL which cannot be solved by Obj- operations, RDB- operations are best avoided. That said, in situations where you need to insert using a select statement or delete multiple records based on a filter criteria, equivalent Obj- operations are currently not available and thus RDB- operations are useful.
Generally all queries should be through the use of Obj methods. If you use RDB methods, you will not be able to access BLOBs. However, RDB methods are necessary if you want to execute stored procedures.
RDB methods would be considered in the below factors
1) stored procedure
2) custom or complex query
3) SQL function
In addition :
1. Obj methods can only be queried upon a single class whereas RDB methods can be helpful in querying along with joins involving more than one class.
2. Obj methods are meant for transactional ease as they have the option of deferred save, rollback etc whereas RDB methods are performed immediately with auto-commit.
Hope this helps.
Posted: 2 years ago
Posted: 17 Feb 2019 13:34 EST
Vikash Ranjan Karn (Vikash Karn)
Senior Technical Solutions Engineer
DataSet-Execute method is used to perform data management operations on records defined by data set instances. The DataSet-Execute method's parameters are specific to the type of data set (database table, decision data store, HBase, HDFS, Interaction History, stream, or Visual Business Director).
Obj-Save method to request that the system save a clipboard page to the PegaRULES database or (if the page belongs to an external class) an external database.
I think for your requirement (save a record in database table) you can make use of Obj-Save.
You just need to have a clipboard page which will have the data that you want to save in the DB table.
it depends on the context, if you need to perform as part of data flows "dataset-execute" method is used in activities. "Obj-" methods are normally used on any class which is in context. Where as "dataset-execute" method is used in context of class to which that dataset is linked.
How data-set execute and obj-save methods are different in terms differred save? Obj-save has differred save option and i can commit all differred operations towards the end, would data-set execute be used to differ the commit ?