存储过程为什么if后面的插入动作没有执行 本帖最后由 zhouxiaojian1985 于 2011-02-21 11:43:18 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 declarev_count NUMBER := 0; BEGIN SELECT COUNT (*) INTO v_count FROM A; IF v_count = 0 THEN INSERT INTO A(ID) SELECT B.ID FROM B WHERE B.ID = 'XXX' ; END IF; COMMIT; END ; 不好意思,我写错了,我写的是INSERT INTO A(ID),就是感觉if后面的没有执行,我拿到代码分步执行都是可以的 我插入后还有一个查询动作的,即查询-为0则插入-再查询1 我把这3个动作写到存储过程调用的时候,插入应该是没有执行,所以最后查询不到数据;2 把3个动作写在代码里分步执行最后能查到数据。所以我猜测是没有做插入的动作,也可能做了,会不会是ORACLE缓存导致的问题? 你看看SELECT COUNT (*) INTO v_count FROM A这个结果是不是0 如何从ORACE 11G RAC中彻底清除DISKG ROUP信息 Oracle一条很常用的查询 麻烦各位高手 日期判断问题急```` 新手求教pro*c相关问题 错误:无法连接到Management Server 200-42-16-14.dup.prima.net.ar。请验证…… 两个数据库之间拷贝表结构和数据 ORACLE的系统用户有什么分别吗? 如何将本地oracle导出的过程,数据打包后更新到其它的工作站上!!!!100分!! 请教有关触发器问题!!! weblogic安装项目报错 求一SQL语句 ORA-01219:数据库未打开:仅允许在固定表/视图中查询
v_count NUMBER := 0;
BEGIN SELECT COUNT (*)
INTO v_count
FROM A;
IF v_count = 0
THEN
INSERT INTO A(ID)
SELECT B.ID
FROM B
WHERE B.ID = 'XXX' ;
END IF; COMMIT;
END ;
不好意思,我写错了,我写的是INSERT INTO A(ID),就是感觉if后面的没有执行,我拿到代码分步执行都是可以的
2 把3个动作写在代码里分步执行最后能查到数据。所以我猜测是没有做插入的动作,也可能做了,会不会是ORACLE缓存导致的问题?
这个结果是不是0