對自定義函式建立索引時拋異常
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
建立自定義異常類
建立自定義的異常類需要繼承自exception類,並提供含有乙個string型別形參的構造方法,該形參就是一場的描述資訊,可以通過getmessage 方法獲得。例如 public class newexception extends exception try catch在main裡頭用哈,具體的...
MSSQL 建立自定義異常
建立時,必須先建立英文的,否則會報錯 必須新增此訊息的 us english 版本後,才能新增 簡體中文 版本。exec sp addmessage 50001,15,option wrong us english exec sp addmessage 50001,15,操作錯誤 簡體中文 在 加入...
使用C 對SQLite建立自定義函式
sqlite是輕量級的資料庫,關於它的常規用法就不一一介紹了,本文主要介紹了如何建立自定義函式,對其進行擴充套件,以滿足開發中的個性化需求。sqlitefunction是乙個抽象類,主要用於處理使用者自定義函式。主要成員如下 有三種型別函式可以自定義,分別是 scalar,aggregate,col...