oracle自增量id分享超详细资料------学习进阶六

楼主
我是社区第57位番薯,欢迎点我头像关注我哦~
在技术区问了半天,没一个让想学习的伙伴们好好学习到,在此整理超详细资料,学习了,大家就都成高手了。



1、用pl连接oracle,输入账号/密码/实例名,登录,这一步不懂的请回帖。并注明哪个步骤不懂。

2、创建触发器
由于oracle 不像mssql能设置id自增量。因此需要自己额外设置。
举例:超详细
例如:  
1、建用户数据表dectuser的sql如下:拷贝到pl
  
     create table dectuser(
  userid number primary key, /*主键,自动增加*/
  name varchar2(20),
  sex varchar2(2)
  );
点击执行
2、创建自动增长序列的sql如下:拷贝到pl
  
     create sequence dectuser_tb_seq minvalue 1 maxvalue 99999999
  increment by 1    --增量为1
  nocache             --不建缓冲区
  nocycle              -- 一直累加不重复
  start with 1;       /*步长为1*/

点击执行
 3、创建触发器
  
     create or replace trigger dectuser_tb_tri
  before insert on dectuser /*触发条件:当向表dectuser执行插入操作时触发此触发器*/
  for each row /*对每一行都检测是否触发*/
  begin /*触发器开始*/
  select dectuser_tb_seq.nextval into :new.userid from dual;
/*触发器主题内容,即触发后执行的动作,在此是取得序列dectuser_tb_seq的下一个值插入到表dectuser中的userid字段中*/
  end;
 点击执行并提交
4、测试
输入sql语句:
insert into dectuser(name,sex) values ('wang','女');
  提示“已创建一行”,表示成功。呵呵:D
分享扩散:

沙发
发表于 2012-2-8 00:05:32
网上找的一个例子,请大家砖头
板凳
发表于 2012-2-8 08:23:18
你一共要进阶多少呀?10还是100{:soso_e179:}
地板
发表于 2012-2-8 09:48:55
{:soso_e148:}昨天我刚帮你解答,今天你就跑这儿来吆喝啦?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

4回帖数 1关注人数 4957浏览人数
最后回复于:2012-2-8 10:03

返回顶部 返回列表