可以使用sequence和trigger:
create sequence seq_id increment by 1 start with 1
create trigger tr_id before insert on tabname fro each
begin
select seq_id.nexval into :new.id from dual;
end;
create sequence seq_id increment by 1 start with 1
create trigger tr_id before insert on tabname fro each
begin
select seq_id.nexval into :new.id from dual;
end;
解决方案 »
- 查询两个表中时间相同的记录
- 缓冲sql statements的sql buffer是在客户端的还是服务器上的?
- 遇到IMP-00017: following statement failed with ORACLE error 1
- 初次接触oracle,用imp导入出现的问题,不知道该怎么办?
- Oracle9i的TOOLS-Export的使用
- 存储文件到db中时,是存url还是存内容好?
- 游标如何带参数?(求救,有例子)
- 请问oracle 9i AS portal 能做论坛吗?
- 怎么登陆sql*plus
- 小弟学习Oracle时开发的一个小软件Oracle Assistant,各位能帮我试用测试吗?
- 求解创建一数据库语句,内容见内
- system/manager登陆问题?
create sequence s_country_id increment by 1 start with 1 maxvalue 999999999;第二步:创建一个基于该表的before insert 触发器,在触发器中使用该SEQUENCE
CREATE OR REPLACE TRIGGER 名
BEFORE INSERT ON 表
REFERENCING OLD AS old NEW AS new
FOR EACH ROW
BEGIN
SELECT s_country_id.NEXTVAL INTO :new.列名 FROM dual;
END T_A_MemberShipID;
表:针对哪个table进行trigger
列名:自动增长字段
REFERENCING OLD AS old NEW AS new
FOR EACH ROW
BEGIN
SELECT 序列名.NEXTVAL INTO :new.列名 FROM dual;
END T_A_MemberShipID;
为什么说无效的触发器类型?谢谢指点!