Oracle中创建自增列
由于第一次在项目中使用Oracle。哎,惭愧啊,居然被一个自增列的问题困扰许久。这个没有SQL Server使用起来方便,Oracle需要通过自增序列SEQUENCE加上触发器来实现。
1、创建SEQUENCE,首先你需要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。
例如:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
定义完SEQUENCE以后,就可以使用s_id.CURRVAL获取SEQUENCE当前值,使用s_id.NEXTVAL获取增加后的SEQUENCE值。
2、创建表的BEFORE INSERT触发器,使用该SEQUENCE
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
当然,也可以不实用触发器,可以再插入数据的时候直接调用。