oracle客户端主键自增,Oracle数据库主键自增

bc3f9276acf88283a0569b9b9ef9ee92.png

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

学习mysql时,我们可以通过auto_increment自己轻松地实现主键-增加功能,但是在Oracle数据库中没有这样的关键字,因此主键自增加不能通过这种方式实现。下面,我将为您介绍两种增加主键的方法。

这两种方法的基础都有一个概念序列(序列)一种概念是使用序列和显式调用实现主键自增的方法,另一种方法是通过序列和触发(触发)以实现主键增量。

第一步,创建表

-创建一个表,主键是ID

创建表YFF(

ID INT主键,

NAME VARCHAR2(10)

);

-创建的表格的格式

CREATE TABLE表名(

字段名称字段类型(可以添加一些约束,例如主键约束),

字段名称字段类型

)

第二步,创建序列

-创建序列

\创建序列 seq_yff

以1

开头

增加1;

-创建序列的格式

创建序列序列名称

始于\起始号码

递增\\ ub26;增长数字

minvalue 最小值

maxvalue 最大值

周期是否为周期(周期为周期,nocycle不是周期)

nocache \不要使用缓存

序列上的其他重要操作

-查询序列(使用nextval查询序列的下一个值)

\从双重选择seq_yff.nextval;

-查询序列的格式

选择序列名称。双重的nextval

(对偶是一个伪表,当我们不需要从特定表中获取表中的数据时,只需

获取我们想要的一些信息,可以使用伪表)

注意:第一次执行此查询语句时,得到的结果为1,然后得到2,则第一个实现主键增量方法是使用序列名称。 Nextval使值增加

-删除序列()

DROP SEQUENCE seq_yff;

注意:序列和表格未连接在一起。在创建序列并在此表之后使用该序列后,我将删除该表,但序列的值仍保持在先前的值,因此您需要注意此问题

第三步是使用序列+显式调用进行自我增量

插入YFF值(seq_yff.nextval,”张三”);

插入YFF值(seq_yff.nextval,”张三”);

从YFF中选择*;

c67241a492d9766b60003c5a7e947f23.png

表格和序列已在此处的第一种方法中使用

\\ n 步骤1,在创建表和序列之后,创建触发器

\-创建触发器

创建或替换触发器tri_yff_insert

在YFF上插入

将新旧引用为旧

对于每一行

开始

选择seq_yff.nextval

进入:new.ID

从双重

结束tri_yff_insert;

-创建触发格式

创建[或替换] tigger触发器名称

触发时间触发事件

表名

[对于每一行]

开始

pl/sql语句

结束

-解释上面的触发语句

创建或替换触发器tri_yff_insert 创建一个触发器并命名为

在插入YFF之前 触发时间是在插入表YFF时

引用旧为旧,新引用为新\

对于每一行 对该表的每一行触发一次,否则只对整个表运行一次

开始

选择seq_yff.nextval

进入:new.ID

从双重

结束tri_yff_insert;

触发器上的其他操作

-在查询表中触发

从all_triggers WHERE table_name =” YFF”中选择*

-删除触发器

删除触发器tri_yff_insert;

步骤2,插入数据

插入\\ ubsp; YFF(ID,Name)值(100,”李四”);

插入\\ ubsp; YFF(名称)值(”李四”);

\-无论是否分配了主键,触发器都将使主键值成为序列的值

eded1f82edc8398c8aabf4d27415e68b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值