怎么让oracle数据库的主键自增

怎么让oracle数据库的主键自增,第1张

建立一个序列啊,每次从序列中取值,提醒一下插入值的时候不要插入主键,用一个触发器自动插入主键的值,给你我的一个案例

CREATE OR REPLACE TRIGGER CRC_028_INOUT_SUMMARY_T(触发器名)

BEFORE INSERT ON CRC_028_INOUT_SUMMARY(表名称)

FOR EACH ROW

DECLARE

L_SUMMARY_ID NUMBER := 0;

BEGIN

-- CRC_028_INOUT_SUMMARY_S 是序列名

SELECT CRC_028_INOUT_SUMMARY_SNEXTVAL INTO L_SUMMARY_ID FROM DUAL;

:NEWSUMMARY_ID := L_SUMMARY_ID;

END;

好好看看,可以参考我的博客:>

(当然,也可以使用建表语句或修改表的语句来实现。)

相关知识点延伸:

1、MS SQL 没有特定的 dual 表,也没有系统级的sequence。

2、Sequence是数据库系统的特性,有的数据库实现了Sequence,有的则没有。比如Oracle、DB2、PostgreSQL数据库实现Sequence,MySQL、SQL Server、Sybase等数据库没有Sequence。

3、但这并不表明MS SQL或ORACLE哪一个差,只是实现的思维方式,理念上的差别。

4、正是因为这两个数据库在思维、理念上有很多的差别,所以,虽然这两个是使用得最多的大型数据库,但针对Oracle设计的中大型数据库非常难移植到MS SQL上,反过来也是一样,要想移植,其工作量往往接近于重写。

在创建表的时候可以设置,方法如下,用一下sql语句。

create table tableName(

id int identity(1,1) primary key,

data varchar(50))

解释:其中identity(1,1)代表自增,第一个1代表从1开始计数,第二个1代表每次增长1。

扩展资料:

SQL 全名是结构化查询语言[1](Structured

Query

Language),是用于数据库中的标准数据查询语言,IBM 公司最早使用在其开发的数据库系统中。1986年10月,美国国家标准学会(ANSI)

SQL

进行规范后,以此作为关系式数据库管理系统的标准语言

(ANSI

X3

135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对

SQL

规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。

参考资料:

百科-SQL语言

以上就是关于怎么让oracle数据库的主键自增全部的内容,包括:怎么让oracle数据库的主键自增、我想在SQL server中使用自增序列,怎么使用、数据库如何设置主键(ID)自动增长啊(SQL语句)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9877209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存