Updating using cursor oracle(DBMS_UTILITY.get_time - l_start)); -- Time bulk with LIMIT 100. But, I think that an approache using a recordset "in" or "in out" parameter will be a good solution in some cases: We can create a recordset (obj Rs) using Excel macro, get all data in a predefined range, and send it to Oracle. Samples for doing it can be found in the link below: didn't see any solution using command "in" parameter like: set parm= obj Command. If you have very wide rows, 100 may be too large an array size.The syntax allows us to bind the contents of a collection to a single DML statement, allowing the DML to be run for each row in the collection without requiring a context switch each time.The array size you pick will depend on the width of the rows you are returning and the amount of memory you are happy to use.
Hi team, Currently am using explicit cursor which is taking more time to validate and insert of those 70 million records. Also i need to complete the process in below 30min.SQL Remember that collections are held in memory, so doing a bulk collect from a large query could cause a considerable performance problem.In actual fact you would rarely do a straight bulk collect in this manner. All procedural code is handled by the PL/SQL engine while all SQL is handled by the SQL statement executor, or SQL engine.There is an overhead associated with each context switch between the two engines.