Oracle存储过程的问题
一个存储过程,里面有这样的功能:
在数据库中一个表A中的一个字段检索出一个数值,比如说是:10
然后将其加1,再更新回表A中。
但是我用SQL单独检索的时候,该值并没有更新,还是我检索出来的值。
我再此调用那个存储过程,他从表中取出的就是11了,为什么呢?
还是说刚开始你只是编译了过程,并没有执行..
你多试几次看看,看是更新失败,还是逻辑有问题
commit没有?
应该是没有commit
同意上面说法,可能就是没有提交
不出意外应该是没有提交
是不是没有在程序里commit导致的,
执行和查询在两个不同的session里,所以查询的看不到更新的值。
应该是没commit
相关问答:
环境:1.win2003server+oracle9i
2.oracle9i字符集为AMERICAN_AMERICA.WE8ISO8859P1
3.oracle sql developer版本 1.5.5
现象描述: 1.在sql developer 中查询oracle中的某个表,中文全部显示为乱码。
......
with adod_dict do
begin
close;
commandtext:='select bgqxcode,count(*) wjsl from wscl_wsda_file where wjnd=:tnd group by bgqxcode'; ......
安装11g的06,打补丁升到07,从ODBC里面看,有
Oracle in OraOdac11g_home1 11.01.00.07
从注册表看HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\下面的Driver和Setup都是我的安装路径
"D:\\app\\Ad ......
我写的一个Job
declare
job1 integer;
begin
dbms_job.submit(job1,
'Sale_FinanceUseFee(4,null,null,null);',
TRUNC(SYSDATE)+1.103, ......
导出、导入都是 oracle 10g 。
在导入过程中出现如下情况:
IMP-00017: 由于 ORACLE 错误 6550, 以下语句失败:
"DECLARE SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := '4E014E50 ......