oracle 字段自增 两段代码搞定
(这几天做了个小小课程设计时用的是oracle数据库,第一次用,发现oracle和我们以前用的sql server 、mysql是有如此多不同的地方,下面是遇到的问题之一和解决方法,和大家分享下)
用惯sql server 或 mysql 的同志们都知道,要一个字段自增,在创建表时加一个auto_increment即可,可是oracle则不然,oracle表中字段并没有自增的属性,那id自增怎么办呢?
没事,还是那句话办法总是有D。好,不废话,直接上源码吧:
先创建一个序列:
CREATE SEQUENCE SEQU_FANGWUXINXI_AUTOINC -- SEQU_FANGWUXINXI_AUTOINC 是序列名
MINVALUE 1 -- 最小值
MAXVALUE 9999999999999999999999999999 -- 最大值(这里是表示无上限)
INCREMENT BY 1 -- 每次自增1
START WITH 1 -- 从1开始
nocache; -- 不用高速缓存
再创建一个触发器:
create or replace
trigger TRIG_FANGWUXINXI_AUTOINC
before insert on fangwuxinxibiao -- fangwuxinxibiao 是表名
for each row
declare
nextid number; -- 定义一个中间变量
begin
IF :new.FANGWUID IS NULL or :new.FANGWUID = 0 THEN --FANGWUID 是字段名 其中的new是当前使用的表
select SEQU_FANGWUXINXI_AUTOINC.nextval into nextid from dual; -- dual是一个伪表,百度便知
:new.FANGWUID := nextid;
end if;
end;
搞定!
如果有问题,欢迎留言交流,我会的话会尽快回复....
oracle 字段自增 两段代码搞定的更多相关文章
- 对百度WebUploader的二次封装,精简前端代码之图片预览上传(两句代码搞定上传)
前言 本篇文章上一篇: 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传) 此篇是在上面的基础上扩展出来专门上传图片的控件封装. 首先我们看看效果: 正文 使用方式同 ...
- 对百度WebUploader开源上传控件的二次封装,精简前端代码(两句代码搞定上传)
前言 首先声明一下,我这个是对WebUploader开源上传控件的二次封装,底层还是WebUploader实现的,只是为了更简洁的使用他而已. 下面先介绍一下WebUploader 简介: WebUp ...
- WPF一段代码搞定所有的点击事件
用一个方法来控制转发所有的点击事件,界面图如下: <Page x:Class="WPFNavigate.Index" xmlns="http://schema ...
- JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查
前言:之前博主分享过knockoutJS和BootstrapTable的一些基础用法,都是写基础应用,根本谈不上封装,仅仅是避免了html控件的取值和赋值,远远没有将MVVM的精妙展现出来.最近项目打 ...
- 开源作品ThinkJDBC—一行代码搞定数据库操作
1 简介 ThinkJD,又名ThinkJDBC,一个简洁而强大的开源JDBC操作库.你可以使用Java像ThinkPHP框架的M方法一样,一行代码搞定数据库操作.ThinkJD会自动管理数据库连接, ...
- [转] Java程序员学C#基本语法两个小时搞定(对比学习)
Java程序员学C#基本语法两个小时搞定(对比学习) 对于学习一门新的语言,关键是学习新语言和以前掌握的语言的区别,但是也不要让以前语言的东西,固定了自己的思维模式,多看一下新的语言的编程思想. ...
- Asp.Net Core 轻松学-一行代码搞定文件上传 JSONHelper
Asp.Net Core 轻松学-一行代码搞定文件上传 前言 在 Web 应用程序开发过程中,总是无法避免涉及到文件上传,这次我们来聊一聊怎么去实现一个简单方便可复用文件上传功能:通过创建 ...
- jquery侧边折叠导航栏制作,两行代码搞定
jquery侧边折叠导航栏制作,两行代码搞定 //CSS*{margin: 0;padding: 0} ul{list-style: none} .menu li ul{display: none} ...
- IOS 一句代码搞定启动引导页
前言引导页,一个酷炫的页面,自从微博用了之后一下就火起来了,对于现在来说一个app如果没有引导页似乎总显那么不接地气,那么为了让我们的app也“高大上”一次,我写了一个demo来实现启动引导页的实现, ...
随机推荐
- [镜像]loop设备及losetup命令介绍
最近需要对一个镜像文件进行修改,可以些方式是通过losetup和kpartx, mount完成,于是分享下面这篇 转自:http://blog.csdn.net/ustc_dylan/article/ ...
- DataGridView使用技巧四:删除行操作
一.无条件的删除行 默认时,DataGridView是允许用户进行行的删除操作,选中要删除的行,按Delete键可以删除,该操作没有任何提示(只是删除界面显示的数据,不会真实删除数据库中的数据).如果 ...
- catalina.home和catalina.base这两个属性的作用
catalina.home和catalina.base这两个属性仅在你需要安装多个Tomcat实例而不想安装多个软件备份的时候使用,这样能节省磁盘空间.以Tomcat6.0为例,其Tomcat目录结构 ...
- 11.0592M晶振与12M晶振
标准的51单片机晶振是1.2M-12M,一般由于一个机器周期是12个时钟周期,所以先12M时,一个机器周期是1US,好计算,而且速度相对是最高的(当然现在也有更高频率的单片机). 11.0592M是因 ...
- 免费CA数字证书的申请、安装、导入、导出
http://wenku.baidu.com/link?url=oDUw50eCE5zX8tmg4N3-ddYGLt1U5aJYGEN7rk_z7t6LuMHL3M4oBstYBI_dQ1UnCtcK ...
- 将BAT文件注册为服务的方法
一.什么是instsrv.exe和srvany.exe instsrv.exe.exe和srvany.exe是Microsoft Windows Resource Kits工具集中 的两个实用工具,这 ...
- 没有启动 ASP.NET State service错误的解决方法
具体错误如下: 异常详细信息: System.Web.HttpException: 无法向会话状态服务器发出会话状态请求.请确保已启动 ASP.NET State service,并且客户端和服务器端 ...
- 【案例分析】Linux下怎样查看port占用情况
作者:zhanhailiang 日期:2014-11-08 基于express写一个測试server代码例如以下,可是执行失败,报"listen EADDRINUSE".字面上理解 ...
- CentOS下 Uptime 命令
对于一些人来说系统运行了多久是无关紧要的,但是对于服务器管理员来说,这是相当重要的信息.服务器在运行重要应用的时候,必须尽量保证长时间的稳定运行,有时候甚至要求零宕机.那么我们怎么才能知道服务器运行了 ...
- NPOI帮助类(Excel转DataTable、DataTable转Excel)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using NPOI.SS. ...