转载

PPAS 兼容oracle部分函数表达式索引

摘要 oracle迁移过来的函数表达式索引出现下列问题,可以尝试用下列办法解决 迁移时需要保证创建的函数本身的属性,输入固定的值返回值不能变. demo: create table TABLE1(id int); CREATE  INDEX X_IDX ON TABLE1 ((TO_N

oracle迁移过来的函数表达式索引出现下列问题,可以尝试用下列办法解决

迁移时需要保证创建的函数本身的属性,输入固定的值返回值不能变.

demo:

create table TABLE1(id int);

CREATE  INDEX X_IDX ON TABLE1 ((TO_NUMBER(ID)));

ERROR:  functions in index expression must be marked IMMUTABLE

解决办法:

CREATE OR REPLACE FUNCTION my_to_number(p_value text)

RETURNS number

AS

$$

SELECT to_number(p_value);

$$

LANGUAGE SQL IMMUTABLE STRICT;

CREATE INDEX INDEX ON table1 ((my_TO_NUMBER(ID)));

原文  http://yq.aliyun.com/articles/4795
正文到此结束
Loading...