oracle全文索引之datastore_1_DIRECT_DATASTORE
Oracle Text功能十分强大,开始学习,主要参考
yangtingkun
的blog和文档进行。
第一步先搞清楚datastore的类型。
DATASTORE的类型如下:
DIRECT_DATASTORE
MULTI_COLUMN_DATASTORE
DETAIL_DATASTORE
FILE_DATASTORE
NESTED_DATASTORE
URL_DATASTORE
USER_DATASTORE
下面就各种类型进行测试,DIRECT_DATASTORE是最简单的,默认是就是用这种类型
Oracle的全文索引不要求被索引的文章一定存储在数据库中,不过如果文章存储在数据库的一列中,那么这种情
况建立索引是最简单的。
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(4000));
表已创建。
SQL> INSERT INTO T VALUES (1, 'This is a sample for Oracle TEXT.');
已创建 1 行。
SQL> INSERT INTO T VALUES (2, 'This is a direct database store sample');
已创建 1 行。
SQL> COMMIT;
提交完成。
对于上面提到的DIRECT DATASTORE类型,下面三种创建索引方式是等价的:
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT;
索引已创建。
SQL> SELECT * from T WHERE CONTAINS(DOCS, 'DATABASE') > 0;
ID DOCS
---------- ----------------------------------------
2 This is a direct database store sample
SQL> DROP INDEX IND_T_DOCS;
索引已丢弃。
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('DATASTORE CTXSYS.DEFAULT_DATASTORE');
索引已创建。
SQL> SELECT * from T WHERE CONTAINS(DOCS, 'DATABASE') > 0;
ID DOCS
---------- ----------------------------------------
2 This is a direct database store sample
SQL> DROP INDEX IND_T_DOCS;
索引已丢弃。
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('DATASTORE CTXSYS.DIRECT_DATASTORE');
索引已创建。
SQL> SELECT * from T WHERE CONTAINS(DOCS, 'DATABASE') > 0;
ID DOCS
---------- ----------------------------------------
2 This is a direct database store sample
上面给出了一个最简单的全文索引的例子。
另外,由DR$开头的4张表是系统为了支持全文索引而自动生成的,不过这4张表的用处就不再这里讨论了。
SQL> SELECT * from TAB;
TNAME TABTYPE CLUSTERID
------------------------------ -------
相关文档:
今天客户的一套RAC环境出现问题
双节点RAC环境中,一个节点因为锁竞争而挂起,shutdown之后无法启动。
故障出现时我正在路上,匆匆回到家中,处理故障。
解决之后查找故障原因。
检查当时的AWR信息发现Top 5 Timed Events显示如下信息:
Top 5 Timed Events &nb ......
语法:
substr( string, start_position, [ length ] )
取子字符串,从start_position开始,取length个,length为可选,如果length为空则返回start_position后的所有字符。
实例:
substr('This is a test', 6, 2) would return 'is'
&nbs ......
lengthb(string)计算string所占的字节长度 :返回字符串的长度,单位是字节
length(string)计算string所占的字符长度 :返回字符串的长度,单位是字符
对于单字节字符,LENGTHB和LENGTH是一样的.
如可以用length(‘string’)=lengthb(‘string’)判断字符串是否含有中文。
select lengt ......
select ss.*,
sum(ss.aa) over (partition by ss.zsid order by ss.zsid) as fu,
sum(ss.bb) over (partition by ss.zsid order by ss.zsid) as zheng
from
(
select m.zsid,
sum(n.f0004_028n) ov ......
1、创建存储过程
create or replace procedure test(var_name_1 in type,var_name_2 out type) as
--声明变量(变量名 变量类型)
begin
--存储过程的执行体
end test;
打印出输入的时间信息
E.g:
create or replace procedure test(workDate in Date) is
begin
dbms_output.putline('The input date i ......