大哥们好!
我在oracle中写了一个存储过程PROA,里面有很多的insert/update操作,然后别人会调用到我写的这个存储过程! 我是应该在这个存储过程里写一句commit 提交所有事物,还是不管,让调用的人去提交事物!
还有如果我写了commit提交事物,他们再次commit 会不会出问题呀?
谢谢了! 帮小弟指点下迷津吧!!
我在oracle中写了一个存储过程PROA,里面有很多的insert/update操作,然后别人会调用到我写的这个存储过程! 我是应该在这个存储过程里写一句commit 提交所有事物,还是不管,让调用的人去提交事物!
还有如果我写了commit提交事物,他们再次commit 会不会出问题呀?
谢谢了! 帮小弟指点下迷津吧!!
如果没有,在存储过程中commit;
如果你存储过程只是一个事务中的一环,不要commit;多次commit不会带来错误。
若你不想这样,就不要commit,而由调用这处理,一般都是这样的。
若你想只是commit存储过程本身而不commit前面的sql,那你可以用 progma autonomous_transaction来表示这个存储过程是一个自治事务,不过一般这种情况很少很少。
呵呵 不过 我还是没有 在存储过程里 commit ! 事物应该由最外层调用者提交才对!!! 再次感谢了!!