更新调用FUCNTION问题

一颗向往数据的心丶 2014-09-15 03:27:18
直接上代码:

--代码一:
v_title := bep_process_public.f_get_bill_oa_title(p_business_no => expr1,
p_business_no_type => expr2);
UPDATE lend_apply_info lai
SET lai.title = v_title
WHERE lai.lend_apply_no = v_lend_apply_no;
IF SQL%ROWCOUNT = 0 THEN
p_flag := '1';
p_msg := '更新Title失败!';
RAISE e_proc_exception;
END IF;

--代码二:
UPDATE lend_apply_info lai
SET lai.title = bep_process_public.f_get_bill_oa_title(p_business_no => expr1,
p_business_no_type => expr2)
WHERE lai.lend_apply_no = v_lend_apply_no;
IF SQL%ROWCOUNT = 0 THEN
p_flag := '1';
p_msg := '更新Title失败!';
RAISE e_proc_exception;
END IF;


问题:
为啥第一段代码能正确更新,而第二段代码未使用中间变量则更新虽然成功但是更新后值为空。
...全文
147 点赞 收藏 8
写回复
8 条回复
一颗向往数据的心丶 2014年09月15日
引用 7 楼 wildwave 的回复:
来晚了,手慢的没粥了
回复 点赞
小灰狼W 2014年09月15日
自从流行蓝翔和阴影面积的长文以后,我都内容以前都习惯看一下结尾 解决了,继续愉快地玩耍去
回复 点赞
一颗向往数据的心丶 2014年09月15日
引用 3 楼 bw555 的回复:
引用 5 楼 zlloct 的回复:
首先感谢两位的回答,问题我已经找到了。 问题出在:写的那个function里面有查询当前更新表需要更新的记录的某些字段。 感谢涅磐重生NPCS,CT_LXL提醒,我去仔细查看了别个写的那个Function,我这边调用,坑残了
回复 点赞
CT_LXL 2014年09月15日
引用 楼主 z_shousi 的回复:
我刚才自己写了一个简单的函数进行测试,也不会出现你这种情况,不知道是不是你函数本身的问题,还有就是你字段类型是不是有问题。其他的还真想不到是什么原因
回复 点赞
CT_LXL 2014年09月15日
引用 楼主 z_shousi 的回复:
是在是看不出有什么问题,建议你还是重function本身入手看看吧
回复 点赞
bw555 2014年09月15日
引用 2 楼 z_shousi 的回复:
[quote=引用 1 楼 bw555 的回复:] 猜想1: expr1 expr2 是什么,传入的参数吗? lend_apply_info 是否有这两个字段expr1 expr2 方式一expr1 expr2获取的是参数的值 方式二expr1 expr2获取的是字段的值 猜想2:bep_process_public.f_get_bill_oa_title中是否有什么特殊的代码?
expr1,expr2都是传入参数,非字段值。 bep_process_public.f_get_bill_oa_title中并未发现有啥特殊处理。[/quote] 我是说lend_apply_info是否有与这两个参数同名的字段?
回复 点赞
一颗向往数据的心丶 2014年09月15日
引用 1 楼 bw555 的回复:
猜想1: expr1 expr2 是什么,传入的参数吗? lend_apply_info 是否有这两个字段expr1 expr2 方式一expr1 expr2获取的是参数的值 方式二expr1 expr2获取的是字段的值 猜想2:bep_process_public.f_get_bill_oa_title中是否有什么特殊的代码?
expr1,expr2都是传入参数,非字段值。 bep_process_public.f_get_bill_oa_title中并未发现有啥特殊处理。
回复 点赞
bw555 2014年09月15日
猜想1: expr1 expr2 是什么,传入的参数吗? lend_apply_info 是否有这两个字段expr1 expr2 方式一expr1 expr2获取的是参数的值 方式二expr1 expr2获取的是字段的值 猜想2:bep_process_public.f_get_bill_oa_title中是否有什么特殊的代码?
回复 点赞
发动态
发帖子
Oracle 高级技术
创建于2007-09-28

2929

社区成员

1.8w+

社区内容

Oracle 高级技术相关讨论专区
社区公告
暂无公告