oracle 添加数据 主键id,在ASP.NET+ORACLE添加数据记录并让ID自动增量

在ASP.NET+ORACLE添加数据记录并让ID自动增量需要在ORACLE中设序列和触发器即可,切记不是索引,ASP.NET中不管ID,具体如下:

1、建立序列:

CREATE SEQUENCE seq_emergency_id

NOCYCLE

MAXVALUE 9999999999

START WITH 2;

2、建立触发器:

CREATE OR REPLACE TRIGGER set_emergency_id

BEFORE INSERT ON "EMERGENCY"

FOR EACH ROW

DECLARE

next_emergency_id NUMBER;

BEGIN

--Get the next emergency id from the sequence

SELECT seq_emergency_id.NEXTVAL

INTO next_emergency_id

FROM dual;

--use the sequence number as the primary key

--for the record being inserted

:new.id := next_emergency_id;

END;

如果在企业管理器中创建,在触发器说明中填:

DECLARE

next_emergencycb_id NUMBER;

BEGIN

--Get the next id number from the sequence

SELECT seq_emergencycb_id.NEXTVAL

INTO next_emergencycb_id

FROM dual;

--use the sequence number as the primary key

--for the record being inserted

:new.id := next_emergencycb_id;

END;

自己总结的常用ORACLE Text 文本检索

ORACLE Text 文本检索:(先要建立CONTEXT或CTXCAT索引,然后如下)(还可以在from前加,SCORE(10)来观察检索到的项目的得分)

1.单词的精确匹配检索

select cbid,title(列名) from emergency(表名) where contains(title,'关于')>0; 是从title中检索含词“关于”的cbid和title字段。

2.多个单词精确匹配

select cbid,title form emergency where contains(title,'关于 AND 请示')>0;是从title中检索含词“关于”和“请示”的上述字段。

也可select cbid,title form emergency where contains(title,'关于 AND 请示',NULL)>0;意思同上,不是检索短语而是两个单词,注意!

3.短语精确匹配

select cbid,title(列名) from emergency(表名) where contains(title,'doctor visits',NULL)>0;将精确匹配doctor visits短语

如果要用AND,OR,MINUS等保留字,应该使用转义符{},如doctor {and} visits

4.搜索互相接近的词语

select cbid,title(列名) from emergency(表名) where contains(title,'关于 NEAR 请示')>0;

select cbid,title(列名) from emergency(表名) where contains(title,'NEAR((关于,请示),10)')>0;  是指指定的两个词在10个词之内

5.在搜索中使用通配符(多字符通配符是%,单字符通配符是-)

select cbid,title(列名) from emergency(表名) where contains(title,'worker%')>0;是检索worker开头的单词,单字通配最多扩展3字符

6.模糊匹配搜索

select cbid,title(列名) from emergency(表名) where contains(title,'?关于')>0;  (前面得加一个问号)

7.使用ABOUT运算符来搜索文档的主题

select cbid,title form emergency where contains(title,'ABOUT(住房)',NULL)>0;

注意以上如果是用CONTEXT索引时,基表更新时文本索引并不更新,为了使索引同步,应该执行CTX_DLL程序包的SYNC_INDEX过程如下:

EXECUTE CTX_DLL.SYNC_INDEX('REVIEW_INDEX');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值