当前位置: 首页 > news >正文

青岛网站建设首选营销吧系统外贸网站建设制作

青岛网站建设首选营销吧系统,外贸网站建设制作,云主机还需要买电脑吗,农家乐网站建设营销方案Oracle实现主键自增有4种方式: Identity Columns新特性自增(Oracle版本≥12c)创建自增序列,创建表时,给主键字段默认使用自增序列创建自增序列,使用触发器使主键自增创建自增序列,插入语句&…
Oracle实现主键自增有4种方式:
  1. Identity Columns新特性自增(Oracle版本≥12c)
  2. 创建自增序列,创建表时,给主键字段默认使用自增序列
  3. 创建自增序列,使用触发器使主键自增
  4. 创建自增序列,插入语句(insert)时,使用自增序列代替值
    数据库表名称为:userinfo(不能使用user,user为Oracle关键字)
方式一:Identity Columns新特性自增

该种方式要求Oracle版本≥12c

在自增字段后使用以下2种语句的1种:

  1. generated by default as IDENTITY
  2. generated always as identity
    建表语句:
CREATE TABLE userinfo (id number(11) generated by default as IDENTITY,--使用自增功能name varchar2(20) ,age number(3)
)

测试:

INSERT INTO USERINFO (name,age) VALUES('张三',18)

结果:
在这里插入图片描述

该种方式很简单,底层原理其实和下面3种方式相似,只是Oracle帮我们省去了多余的操作。

以下是剩余的3种方式,都用共同的特点(先创建自增序列):

准备工作:
必须先创建自增序列:

--设置自增序列,名称为"seq_userinfo",名字任意命名
create sequence seq_userinfoincrement by 1		--每次+1	start with 1		--1开始nomaxvalue			--不限最大值nominvalue			--不限最小值cache 20;			--设置取值缓存数为20

sequence各个参数详解,可以参考这边文章:
参考文章

方式二:创建自增序列,创建表时,给主键字段默认使用自增序列

建表语句,设置自增字段默认使用自增序列(推荐该方式):

–创建userinfo表

CREATE TABLE userinfo (id number(11)  DEFAULT seq_userinfo.nextval, --"seq_userinfo"为自增序列名称name varchar2(20) ,age number(3)
);

测试:我使用的是DBeaver软件:

如图:
在这里插入图片描述

注意:新增了一条数据,点击保存,该软件并不会立刻自动显示生成的ID,我们需要关闭当前页签,再打开就可以看到自增的ID了

如下:

在这里插入图片描述

方式三:创建自增序列,使用触发器使主键自增

建表语句:

–创建userinfo表

CREATE TABLE userinfo (id number(11)      not null,name varchar2(20) ,age number(3)
);

创建触发器(只需要注意注释的位置):

-- 创建触发器,名称为"deptinfo_TRIGGER",名字任意命名
create or replace trigger userinfo_TRIGGER
before insert on userinfo	--"userinfo"为表名称
for each row
begin
select seq_userinfo.nextval into :new.id from dual;	--1、"seq_userinfo"为自增序列名称 2、这里的id是你需要自增的序列
end userinfo_TRIGGER;	--"userinfo_TRIGGER"为触发器名称

测试:跟方式1测试一样,会存在不显示ID问题:

如图:
在这里插入图片描述

重新打开页签:

如下:
在这里插入图片描述

方式四:创建自增序列,插入语句(insert)时,使用自增序列代替值

建表语句:

–创建userinfo表

CREATE TABLE userinfo (id number(11)      not null,name varchar2(20) ,age number(3)
);

在插入语句中,自增的字段(ID),使用自增序列去代替

如下:

INSERT INTO userinfo(id,name,age) VALUES(seq_userinfo.nextval,'睡竹',18);

注意:方式三与MySQL、微软的SQL server的自增方式是一样的!

运行结果:

在这里插入图片描述

总结:
对后台系统开发来说:

方式1和方式2最方便

方式3还需要新加一个触发器,不推荐

方式4类似于方式2,但是对Java程序而言,mybatis的xml需要显式的指定触发器,不够友好

附上删除触发器和自增序列的语句:

--删除自增序列,"seq_userinfo"为自增序列的名称
drop sequence seq_userinfo
--删除触发器,"userinfo_TRIGGER"为触发器名称
drop trigger userinfo_TRIGGER
http://www.yayakq.cn/news/305551/

相关文章:

  • 南京 外贸网站建设有哪些做外贸免费的网站
  • 网站 制作 技术过时做零食用哪个网站好
  • 哪个网站可以做图交易平台vi设计品牌图片
  • 网站查询服务器ipasp.net建立网站吗
  • 网站里的做菠菜高端品牌女装有哪些
  • 常州建网站公司jeecms可以做网站卖吗
  • 新新手手网网站站建建设设成都专业的网站建站公司
  • 建立网站一般要多少钱网页设计培训点
  • 东莞企业网站搭建制作手机ppt制作软件全模板免费
  • 做公众号推文的网站微信推广员
  • 网站内页没有排名深圳网站
  • 做网站需要哪些手续wordpress oauth认证
  • 重庆网站排名外包自己搭建云手机服务器
  • 怎样给自己建立网站女与男爱做电影网站免费
  • 专业的镇江网站建设公司图标设计大全免费 logo
  • 电子商务网站设计代码推广公众号平台的公司
  • 德国网站域名后缀手机app下载安装免费下载
  • 自己主机做网站服务器用来做收录的网站
  • 上海网站建设专业公司排名商品展示的网站
  • 海宁住房和城乡规划建设局网站网站只收录无权重
  • wordpress中文注册插件关键词优化的内容
  • 织梦网站模板陶瓷wordpress cms布局
  • 赤峰网站建设企业学历提升有几种方式
  • 网站建设与管理 课件自定义优定软件网站建设
  • 沈阳中联做网站来广营做网站公司
  • jsp是做网站后台的吗纯静态网站挂马
  • 网站在线建设网站关键词密度是怎么计算的
  • 专业建设网站的公司荆州市建设厅网站
  • 做一个商品网站多少钱湖南网站推广哪家专业
  • 如何自己制作首页网站买淘宝店