序列不是数据库表字段,你在oracle中添加序列,通过触发器在将序列的值赋给字段id,你只要看到id就行了,不需要看到序列值,序列的值是自动增加的。具体如何实现请参照触发器和序列的有关内容。 如果你要把序列生成的值插入表,可以这样:insert into table(id , ....) values(序列名.nextval , ....);保证正确
在jsp页面中又如何做呢? 也来个循环吗?在里面加上 insert into table(id,....) values(序列.nextval,....)给个意见吧,这个问题问了好多次了,怎么没有人说具体点,好让我们明白呢?熟不知,还有好多人不懂这个呢?
SQL> create sequence a_sequence 2 start with 1 3 increment by 1;序列已创建。SQL> create table t (n number ,v varchar2(10));表已创建。SQL> create or replace trigger t_trg 2 before insert or update on t 3 for each row 4 begin 5 select a_sequence.nextval into :new.n from dual; 6 end; 7 /触发器已创建SQL> insert into t values(111,'ok');已创建 1 行。SQL> select * from t; N V ---------- ---------- 1 ok
序列名.currval 是当前值
如果你要把序列生成的值插入表,可以这样:insert into table(id , ....) values(序列名.nextval , ....);保证正确
也来个循环吗?在里面加上
insert into table(id,....) values(序列.nextval,....)给个意见吧,这个问题问了好多次了,怎么没有人说具体点,好让我们明白呢?熟不知,还有好多人不懂这个呢?
2 start with 1
3 increment by 1;序列已创建。SQL> create table t (n number ,v varchar2(10));表已创建。SQL> create or replace trigger t_trg
2 before insert or update on t
3 for each row
4 begin
5 select a_sequence.nextval into :new.n from dual;
6 end;
7 /触发器已创建SQL> insert into t values(111,'ok');已创建 1 行。SQL> select * from t; N V
---------- ----------
1 ok