碰到郁闷问题,装有oracle9,10,11的兄弟姐妹们,帮忙测测啊

fosjos 2008-03-05 02:13:23
create table TB1
(
ID NUMBER(10) not null,
CODE NCHAR(20),
NAME VARCHAR2(100)
);

insert into TB1 (
select rownum as id, substr(col,1,10) as code, col as name from tb0 --随便找个表tb0和字段col就行
where rownum<=500
);

create or replace function format(code in varchar2)
return varchar2 deterministic
as
begin
return replace(code,'-','');
end;
/
select rownum,code,format(code) as code0 from TB1 where rownum<=300;

看看第100条后面的记录,字段code0是否正常
...全文
130 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fosjos 2008-03-06
  • 打赏
  • 举报
回复
装了oracle 10和11的,也麻烦帮我测测!
CathySun118 2008-03-06
  • 打赏
  • 举报
回复
奇怪
DragonBill 2008-03-06
  • 打赏
  • 举报
回复
deterministic的性能好处是如果使用相同的输入调用函数两次,Oracle可以记住第一个调用的结果因此避免在第二次执行时再次调用。但是该功能直到10g Release 2才被真正实施。
fosjos 2008-03-05
  • 打赏
  • 举报
回复
可能是nchar转换varchar出了异常

但不知道replace和translate是如何实现的
fosjos 2008-03-05
  • 打赏
  • 举报
回复
我也觉得是oracle的bug
不过没装10g和11g,没测试过

最不可思议的是,我9i测试中不管什么where语句
都正好100个正常的

导致的后果就是自定义函数索引查询不到数据
bjt_ 2008-03-05
  • 打赏
  • 举报
回复
9.2.0.4 100行开始没数据,古怪
Petergepeter 2008-03-05
  • 打赏
  • 举报
回复
估计是BUG。
Petergepeter 2008-03-05
  • 打赏
  • 举报
回复
9204, 251 开始没有记录。
10203, 一切正常。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧