在一个oracle函数中,有类似下面代码
......
insert...
......
v_a = dbms_sql.open_cursor;
dbms_sql.parse(v_a, v_sql, dbms.v7);
dbms_sql.execute(v_a);
dbms_sql.close_cursor;
......
update...
......
commit;
......就是执行动态sql之前之后都有insert或update之类的静态语句,commit语句在动态sql之后一般,执行到函数的第一条会改变数据的语句时oracle会自动开启一个事务,直到commit(应该是这样的吧???)但是这其中如果加了动态sql,而且在commit前就执行了dbms_sql.close_cursor;,会不会影响事务呢?dbms_sql.close_cursor会不会使事务提交??
谢谢!!!