在rails 中使用oracle ,id 自动增长的处理方式
来源:互联网 发布:node throw err 编辑:程序博客网 时间:2024/05/01 06:53
重要:
在使用rails g model 的命令的时候。 连接器会自动建立一个seq 。
seq 的名称 是 <models>_SEQ
比如: 建立一个 user 的model,按照命名规则,会建立一个 USERS 的表单,那么rails 也会在oracle中自动建立 一个 USERS_SEQ的 sequence。
** 查询 空间中所有的 sequence 可以通过 sql 命令 : select * from all_sequences
不要建立trigger 。rails 的model 继承的 ActiveRecord 会自动 在插入数据的时候,读取这个seq 的nextval 值,并且赋值到 id 字段。
如果,我们没有通过 rails g model 命令建立表单,而是使用已经存在的数据表单的时候,就需要手工建立一个seq,并且遵循这个 命名规范。
CREATE SEQUENCE GIS_REGIONS_SEQINCREMENT BY 1START WITH 1 NOMAXVALUE NOCYCLE CACHE 10;
命名规范: 其中 GIS_REGION 是rails中的model 名称 ,GIS_REGIONS 是表单名称。
按照这个原理,如果我们没有符合id字段做主键值的规范。那就需要建立一个trigger 来处理了。
create or replace trigger SEQ_ID_FOR_GIS_REGION_TRIGGERbefore insert on GIS_REGIONS for each rowdeclare next_id number;begin select SEQ_ID.nextval into next_id from dual; :new.ID := next_id;end;
同样,也可以 在 ActiveRecord 中 指定 seq
self.sequence_name = "GIS_SZREGION_SEQ"
- 在rails 中使用oracle ,id 自动增长的处理方式
- Hibernate在oracle中ID增长的两种方式
- Hibernate在oracle中ID增长的两种方式
- Hibernate在oracle中ID增长的两种方式
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- 如何在oracle数据库中设置自动增长的id字段
- Oracle ID自动增长
- oracle id自动增长
- oracle id自动增长
- Oracle数据库ID自动增长的触发器
- id的自动增长
- oracle数据库ID自动增长
- oracle insert 自动增长 id
- oracle数据库ID自动增长
- oracle 自动增长更新id
- IBM面试(Appliaction developer)
- ViewParger 使用
- java FCK学习使用
- Android总结笔记06:二维码扫描功能(抽离zxing中的二维码自定义样式)
- numpy+matplotlib增长
- 在rails 中使用oracle ,id 自动增长的处理方式
- 今天做了一下性格测试
- mysql中data too long for column问题的解决方法
- traceroute与tracert
- 课程总结
- 使用telnet进行发送邮件
- 使用SimpleAdapter创建ListView
- MIPS汇编语言SYSCALL指令的用法
- Fedora 19安装以后的优化