首页 > 编程 > .NET > 正文

在ASP.NET+ORACLE添加数据记录并让ID自动增量

2024-07-10 13:12:31
字体:
来源:转载
供稿:网友

  在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');

  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表