对自定义函数建立索引时抛异常ORA-30553

转载 2013年12月01日 22:09:12
对自定义函数建立索引时抛异常ORA-30553
--ORA-30553: 函数不能确定(ORA-30553: The function is not deterministic)解决方法
function integer table sql
 对自定义函数建立索引时抛异常 --ORA-30553: 函数不能确定(ORA-30553: The function is not deterministic)解决方法
问题描述:
SQL> create or replace function f_16turnto10(
  2    str_16char  in varchar2
  3  )return integer
  4  is
  5    i_number number(10);
  6   i_int  int;
  7  begin
  8    i_int := length(str_16char)+10;
  9    i_number := to_number(str_16char,rpad('x',i_int,'x'));
 10   return i_number;
 11  end;
 12  /
Function created
SQL> create table t_16turn10 as select username,'4D' as psw  from dba_users;
Table created
SQL> create index i_16turn10 on t_16turn10 (f_16turnto10(psw));
create index i_16turn10 on t_16turn10 (f_16turnto10(psw))
ORA-30553: 函数不能确定
解决如下:
如果需要创建基于自定义函数的索引 ,那么我们需要指定deterministic参数,在函数建立的时候指定该参数问题可解决。
SQL> create or replace function f_16turnto10(
  2    str_16char  in varchar2
  3  )return integer deterministic
  4  is
  5    i_number number(10);
  6   i_int  int;
  7  begin
  8    i_int := length(str_16char)+10;
  9    i_number := to_number(str_16char,rpad('x',i_int,'x'));
 10   return i_number;
 11  end;
 12  /
Function created
SQL> create table t_16turn10 as select username,'4D' as psw  from dba_users;
Table created
SQL> create index i_16turn10 on t_16turn10 (f_16turnto10(psw));
Index created

相关文章推荐

数据库中的表结构、索引、视图、存储过程、触发器以及自定义函数

(1)查询SQLServer2005中某个数据库中的表结构  SELECT TOP 100 PERCENT --a.id, CASE WHEN a.colorder = 1 THEN d.name...

通过创建用户自定义函数索引优化语句

最近,一个系统升级后,发现系统运行非常慢。CPU消耗将近100%。 用top查看系统,发现一个进程占用了几乎90%的CPU。用以下语句查出进程相应会话正在执行的操作: select b.spid,...

查询SQLServer2005中某个数据库中的表结构、索引、视图、存储过程、触发器以及自定义函数

(1)查询SQLServer2005中某个数据库中的表结构 SELECT 表名      = CASE WHEN A.COLORDER=1 THEN D.NAME ELSE '' E...

ONLINE方式在线重建索引异常中断后遇到ORA-08104错误的处理思路

最近在处理ORA-08102错误时,使用ONLINE方式在线重建索引异常中断后遇到ORA-08104错误; ORA-08104错误网上有许多相关案例和解决方法,这里我也汇总一下解决方法,记录一下本次...

集合自定义异常

【Android】自定义View快速建立字母索引列表

本博客所有文章皆为原创,欢迎转载,转载请注明出处,谢谢合作! http://blog.csdn.net/shinnwxwx/article/details/50820694不废话,直接上能用的源码,...

自定义异常

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)