Collection Bulk Operations
This is a translation reference to convert the Oracle Collection Bulk Operations to Snowflake
This section is a work in progress, information may change in the future
Description
The
BULKCOLLECTclause, a feature of bulk SQL, returns results from SQL to PL/SQL in batches rather than one at a time.The
BULKCOLLECTclause can appear in:
SELECTINTOstatement
FETCHstatement
RETURNINGINTOclause of:
DELETEstatement
INSERTstatement
UPDATEstatement
EXECUTEIMMEDIATEstatementWith the
BULKCOLLECTclause, each of the preceding statements retrieves an entire result set and stores it in one or more collection variables in a single operation (which is more efficient than using a loop statement to retrieve one result row at a time).
(Oracle PL/SQL Language Reference BULK COLLECT CLAUSE)
This section has some workarounds for SELECTs and FETCH Cursor with Bulk Clauses.
Sample Source Patterns
Source Table
Oracle
Snowflake
Bulk Collect from a Table
Oracle
Snowflake
EXECUTE IMMEDIATE with Bulk Collect clause has no workarounds offered.
SELECT INTO statement case
In this case, the translation specification uses RESULTSETs. Review the documentation for WITH, SELECT, and BULK COLLECT INTO statements here:
WITH, SELECT, and BULK COLLECT INTO statementsKnown Issues
1. Heavy performance issues on FETCH Cursor workaround
The workaround for the Fetch cursor has heavy performance requirements due to the Temporary table. It is advised for them to be manually migrated to SELECT statements
2. Execute immediate statements are not transformed
They are not supported by SnowConvert but may be manually changed to SELECT statements.
Related EWIs
MSCEWI1058: Functionality is not currently supported by Snowflake Scripting.
Last updated
Was this helpful?