第一步:创建SEQUENCE
create sequence s_country_id increment by 1 start with 1 maxvalue 999999999;
第二步:创建一个基于该表的before insert 触发器,在触发器中使用该SEQUENCE
create or replace trigger bef_ins_t_country_define
before insert on t_country_define
referencing old as old new as new for each row
begin
select s_country_id.nextval into :new.country_id from dual;
end;
/
create sequence s_country_id increment by 1 start with 1 maxvalue 999999999;
第二步:创建一个基于该表的before insert 触发器,在触发器中使用该SEQUENCE
create or replace trigger bef_ins_t_country_define
before insert on t_country_define
referencing old as old new as new for each row
begin
select s_country_id.nextval into :new.country_id from dual;
end;
/
解决方案 »
- 请问这个SQL是否正确?
- dmp文件导入的存储过程实现方法。
- add constraint 报错 02293 怎么解决?
- 大家关心的sql语句,高手指教,谢谢
- 急!!!如何在oracle中批量插入日期!!!!
- 怎么定义布尔型?
- 两个同构的数据库,如何实现序列(sequence)的同步呢?
- 能不能帮我修改一个触发器,谢谢!!!! 给20分.如果说少,请说话.急用
- 在Win2K Server安装Oracle817时,没有安装数据库,后在创建数据库时出现"ORA-12560:TNS:协议适配器错误
- oracle 有没有sql server profiler类似的工具?
- 關以date數據類型
- Oracle表insert不可用
MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE
NOCACHE NOORDER;
CREATE OR REPLACE TRIGGER USERADD
BEFORE INSERT ON MEMBERRG
FOR EACH ROW
BEGIN
SELECT LPAD(USERID.NEXTVAL,4,'0') INTO :NEW.NUM FROM DUAL;
END;
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