有没有什么方法能让commit不把游标关闭,请各位大侠帮忙 可能不关闭游标是行的!!!你要1000条一COMMIT的目的是不是要做成一个事物?这样的话可以自己做一个回滚段来实现一个大的事物!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 pl/sql中是可以的但如果你使用别的环境,有可能不一样的比如tuxedo的事务管理 oracle自己的产品(包括pl/sql、 developer2000、存储过程)是支持你的这种要求,我以前用过没有任何问题,但其他方式(包括用odbc连接的任何方式)就不支持这种情况。 to biti_rainy(biti_rainy),jin0607(dd) :我在pl/sql试过,游标也是在COMMIT之后被关闭了.TO ultrawang(yuanding) :1000条只是假如,实际上可能远远不止如果自己做一个回滚段假如第1020条出错,将回滚,这不合要求,要求是每做1000条就COMMIT.后面的回滚不影响已经COMMIT的数据了.另外,每执行1000条COMMIT一次也正是为了节省回滚段空间. 在PL/SQL中使用COMMIT不会关闭游标,你使用的是什么东东. 只有用db_link的游标在commit时才会自动关闭。这种情况下需要在生成动态游标时,依据分段条件每次取指定数量的记录进行分段,每个游标处理指定的数据量。处理完后,关闭游标,然后commit;啊,用;用习惯了。 to: robbinwoo(罗宾汉) .只有用db_link的游标在commit时才会自动关闭?也就是说还有别的种类的游标在COMMIT时不会被关闭?在ORACLE中有没有相关的属性设置?TO:ALL.今天18点结贴. 我只能告诉你:pl/sql中 commit 是可以不关闭游标的但你有问题存在,那一定是有你的特殊的地方你又不说出来还谈什么谈? 方法1SQLCA.AutoCommit = True你的语句SQLCA.AutoCommit = false方法2用两个事务对象 declare 游标时增加with hold ,如:EXEC SQL declare Cu_Tb cursor with hold for Tb_id;试一下,在SCO +informix下用过,不知道oracle可不可行? 我用的是COBOL,要是用PB,我还是用数据窗口算了. Oracle:关于年或月排序统计 SQL调优 执行语句“select distinct fsfybm from fee_tab”时,出现错误 這個procedure該怎麼寫? oracle 数据恢复的问题 lsnrctl status查看服务器端listener进程的状态 为什么if语句会作怪呢? 哪有oracle8.0下载 LINUX下远程访问oracle的一些问题 帮我看看这条语句是什么意思,尤其是哪个乘号? 误操作 新手问题(诚恳请教)
比如tuxedo的事务管理
TO ultrawang(yuanding) :1000条只是假如,实际上可能远远不止如果自己做一个回滚段假如第1020条出错,将回滚,这不合要求,要求是每做1000条就COMMIT.后面的回滚不影响已经COMMIT的数据了.另外,每执行1000条COMMIT一次也正是为了节省回滚段空间.
TO:ALL.今天18点结贴.
:
pl/sql中 commit 是可以不关闭游标的
但你有问题存在,那一定是有你的特殊的地方
你又不说出来
还谈什么谈?
SQLCA.AutoCommit = True
你的语句
SQLCA.AutoCommit = false方法2
用两个事务对象
EXEC SQL declare Cu_Tb cursor with hold for Tb_id;试一下,在SCO +informix下用过,不知道oracle可不可行?