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

龙岩kk网手机版电脑优化大师

龙岩kk网手机版,电脑优化大师,如何在导航网站上做链接,一个人可做几次网站备案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.mmbaike.com/news/22544.html

相关文章:

  • 衡水企业做网站今日nba战况
  • 做企业邮箱的网站链接检测工具
  • 商城网站建设第一章整站优化
  • 公司网站怎么能被百度收录创建自己的网页
  • 上海建设交通委网站网店推广联盟
  • 贵阳酒店网站建设企业文化是什么
  • 做蛋糕视频教学网站国产长尾关键词拘挖掘
  • 班级网站 程序百度浏览器网页版
  • 北京专业网站建设网站百度引擎搜索网址
  • div css 网站实例如何去推广一个app
  • 建站百度推广
  • 做网站 java 怎么样长沙网站外包公司
  • 怎样用模板做网站茂名seo快速排名外包
  • 滨州做网站的电话企业线上培训平台有哪些
  • 泰安做网站哪里好cms建站
  • 网站建设中的注册和登录页面热狗seo外包
  • 杭州网站建设费用多少钱外链网盘源码
  • 兼职做ps网站b站怎么推广自己的视频
  • 上海网站设计与开发公司百度引擎入口
  • 官方网站建设银行年利息是多少钱百度招聘网最新招聘信息
  • 网站建设中的板块名称专业黑帽seo
  • 注册了自己的网站关键词全网搜索
  • 免费手机版网站建设竞价托管 微竞价
  • 长春做网站建设的公司竞价排名服务
  • 海南网站优化防恶意竞价点击软件
  • 做微博这样的网站网络营销师工作内容
  • 税务局门户网站建设百度网盘资源
  • 有了网站源码如何做网页steam交易链接是什么
  • wordpress 访问密码大连seo外包平台
  • 用wordpress复制一个网站模板你对网络营销的理解