自己建个数字型字段,用Oracle 的 sequence实现
解决方案 »
- 如何在windows下以日期命名文件
- sql server函数转oracle 各位大神帮帮忙
- NOWAIT和WAIT的问题!
- SQL语句检测某个值是否在某字段中的函数怎么写?
- 需oracle 920X(x>5) for windows下载
- 如何把按字符排序转换成安数字排序
- 用时间戳timestamp字段做为select的条件时该怎么写?
- 谁能给我一个win2000下oracle817的性能优化方案,100分送上
- 请问如何删除同意词,那些对象可以建立同义词,函数如何建立同义词
- ★★“主从表”中增、删、改的注意事项!!哪位大侠能帮帮我!★★
- 如何把oracle中的表导出为EXCEL格式请大家帮忙,急啊!!先谢谢了.
- 求助!!!!在线等!!!!
Oracle上没有自增字段,可以使用序列和触发器来达到此目的
第一步:创建SEQUENCE
create sequence s_policy_id increment by 1 start with 1 maxvalue 999999999;
第二步:创建一个基于该表的before insert 触发器,在触发器中使用该SEQUENCE
----t_pol_main为插入的表名,其中policy_id 为此表的一个要自动增加的字段
create or replace trigger tri_policy_id
before insert on t_pol_main
referencing old as old new as new
for each row
declare
num number;
begin
select N_POLICY_ID.Nextval into num from dual;
:new.policy_id := num;
end;