(这几天做了个小小课程设计时用的是oracle数据库第一次用发现oracle和我们以前用的sql server mysql是有如此多不同的地方下面是遇到的问题之一和解决方法和大家分享下)
用惯sql server 或 mysql 的同志们都知道要一个字段自增在创建表时加一个auto_increment即可可是oracle则不然oracle表中字段并没有自增的属性那id自增怎么办呢?
没事还是那句话办法总是有D好不废话直接上源码吧
先创建一个序列
[sql]
CREATE SEQUENCE SEQU_FANGWUXINXI_AUTOINC SEQU_FANGWUXINXI_AUTOINC 是序列名
MINVALUE 最小值
MAXVALUE 最大值(这里是表示无上限)
INCREMENT BY 每次自增
START WITH 从开始
nocache;
不用高速缓存
再创建一个触发器
[sql]
create or replace
trigger TRIG_FANGWUXINXI_AUTOINC
before insert on fangwuxinxibiao
fangwuxinxibiao 是表名
for each row
declare
nextid number; 定义一个中间变量
begin
IF :newFANGWUID IS NULL or :newFANGWUID = THEN FANGWUID 是字段名 其中的new是当前使用的表
select SEQU_FANGWUXINXI_AUTOINCnextval into nextid from dual;
dual是一个伪表百度便知
:newFANGWUID := nextid;
end if;
end;