create or replace FUNCTION open_and_parse (sql_statement_in IN VARCHAR2, dbms_mode_in IN INTEGER := DBMS_SQL.NATIVE) RETURN INTEGER IS /* Declare cursor handle and assign it a pointer */ return_value INTEGER := DBMS_SQL.OPEN_CURSOR; BEGIN /* Parse the SQL statement */ DBMS_SQL.PARSE (return_value, sql_statement_in, dbms_mode_in); /* Pass back the pointer to this parsed statement */ RETURN return_value; END; /