序列:
create sequence seq_test minvalue 1 maxvalue 1000 increment by 1 start with 1 nocache ;表:
create table test
(test_id number(10),
test_value varchar2(20)
)触发器:
create or replace trigger test_trigger
before insert on test
for each row
begin
select seq_test.nextVal into :NEW.test_id from dual;
end;这里,小弟有2个问题:
1、在pl/sql的sql windows 中,输入
insert into test values('');
insert into test values('michael');是否可以实现隐式的插入两条记录: 1
2 michael 2、触发器中“select seq_test.nextVal into :NEW.test_id from dual; ”语句的 “into :NEW.Test_id ”。
是否,该语句是将当前seq_test的nextVal值赋给了insert into语句中的test.test_id ?
请高手们不甚赐教,小弟感激不尽。
create sequence seq_test minvalue 1 maxvalue 1000 increment by 1 start with 1 nocache ;表:
create table test
(test_id number(10),
test_value varchar2(20)
)触发器:
create or replace trigger test_trigger
before insert on test
for each row
begin
select seq_test.nextVal into :NEW.test_id from dual;
end;这里,小弟有2个问题:
1、在pl/sql的sql windows 中,输入
insert into test values('');
insert into test values('michael');是否可以实现隐式的插入两条记录: 1
2 michael 2、触发器中“select seq_test.nextVal into :NEW.test_id from dual; ”语句的 “into :NEW.Test_id ”。
是否,该语句是将当前seq_test的nextVal值赋给了insert into语句中的test.test_id ?
请高手们不甚赐教,小弟感激不尽。
改
insert into test(test_value ) values('');
会影响性能。
SQL> create or replace trigger test_trigger
2 before insert on test
3 for each row
4 begin
5 :NEW.test_id :=seq_test.nextVal ;
6 end;
7 /触发器已创建SQL> insert into test (test_value) values('');已创建 1 行。SQL> select * from test; TEST_ID TEST_VALUE
---------- --------------------
1 SQL>