prss.net
当前位置:首页 >> nAviCAt For orAClE 创建触发器实现自增 >>

nAviCAt For orAClE 创建触发器实现自增

为什么要用触发器实现自增呢?表中加一个id字段,类型设置为 int,然后加上 identity(1,1)就行了! 语句: alter table t_user add id int identity(1,1) 这样,每新增一条数据,id就会自动加1

其实现步骤可参照如下例子。 drop table book; --创建表 create table book( bookId varchar2(4) primary key, name varchar2(20) ); --创建序列 create sequence book_seq start with 1 increment by 1; --创建触发器 create or replace trigge...

一个完整的例子, 仅供参考: SQL> CREATE SEQUENCE test_sequence2 2 increment by 1 -- 每次递增1 3 start with 1 -- 从1开始 4 nomaxvalue -- 没有最大值 5 minvalue 1 -- 最小值=1 6 NOCYCLE; -- 不循环 Sequence created. SQL> CREATE TABLE ...

create table t_a (id int not null, y varchar(20), other_id int); create sequence SEQ_A_id minvalue 1 maxvalue 9999999999; create or replace trigger changeField_trigger before insert on t_a -- 这个一定要用before不能用after。 for...

使用如下函数实例 select trim(to_char(1,'00')) from dual; --转换后的效果就是:01你上面的语句可以这样写: if :new.code_carrier is null then select to_char(nvl(max(to_number(code_carrier)), 0) + 1, '0000') -- 几位就写几个0 into :n...

oracle的自增需要依靠序列和触发器共同实现 比如 先创建一个表 create table test(id int primary key,name varchar2(10));创建一个序列 create sequence test_seq increment by 1 start with 1 minvalue 1 maxvalue 9999999999999 nocache orde...

使用oracle数据库中的关键字sequence来实现目的。 //创建mySeq create sequence mySeqstart with 1increment by 2maxvalue 40minvalue 1cycle //创建用户表 create table USER(Id int,CompName varchar2(20)) 插入语句可以这样写: insert into U...

原则上是这样的,当然也有的人使用表来存储 自增长的数据,关键是每个数据库的自增长的方式都不一样 SQLServer ,Oracle,Mysql 等等都不一样

CREATE OR REPLACE TRIGGER triggerName BEFORE INSERT ON table t_user FOR EACH ROW when (new.u_id is null) begin select user_seq.nextval into:new.id from dual; end; 一般情况下会直接在程序里去调用序列,因为数据量太大的话,对表逐行...

代码如下: CREATE OR REPLACE TRIGGER tri_aft_ins_a AFTER INSERT ON a FOR EACH ROWDECLAREBEGIN INSERT INTO B (suser, scontent, createTime, nispublic, smoduleId) VALUES (:NEW.screateUser, :NEW.nid, :new.screatetime, 0, 'report');...

网站首页 | 网站地图
All rights reserved Powered by www.prss.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com