热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle主键自增长

oracle主键自增长1、比较土鳖的方式定义主键number类型,之后每次存数据时候,id为取得此表的max(id),之后+1,在存放进去可以用时间作为主键,唯一。2、官方版使用序列方式,增长主键。下面介绍使...SyntaxHighlighter.all();

oracle主键自增长
 
1、比较土鳖的方式
定义主键number类型,之后每次存数据时候,id为取得此表的max(id),之后+1,在存放进去
      可以用时间作为主键,唯一。
2、官方版
      使用序列方式,增长主键。下面介绍使用过程。
创建测试表 t
 
[sql] 
SQL> create table t(  
  2  id number(10) primary key,  
  3  name varchar2(20) not null);  
 www.2cto.com  
Table created  
 
创建序列sequence t_id
 
[sql] 
SQL> create sequence t_id  
  2  start with 2          --以2开始  
  3  increment by 2;       --以2为自增长1、3、5、7...  
   
Sequence created  
 
使用序列
[sql] 
SQL> insert into t values(t_id.nextval,'人1');  
   
1 row inserted  
   
SQL> insert into t values(t_id.nextval,'人1');  
   
1 row inserted  
 www.2cto.com  
SQL> insert into t values(t_id.nextval,'人1');  
   
1 row inserted  
   
SQL> insert into t values(t_id.nextval,'人1');  
   
1 row inserted  
查询表t
 
[sql] 
SQL> select * from t;  
   
         ID NAME  
----------- --------------------  
          2 人1  
          4 人1  
          6 人1  
          8 人1  
 
删除表数据删除表
 
[sql] 
SQL> truncate table t;  
 www.2cto.com  
Table truncated  
   
SQL> drop table t;  
   
Table dropped  
 
恢复删除表
 
[sql] 
flashback table t to before drop;  
 
序列详情介绍
 
[sql] 
--序列  
    /*  
     *需求:在插入记录时,主键值,需要不重复而且唯一,  
     *它的值靠人工生成不太靠普,所以我们需要一个能生成值的一个东西,  
     *这个东西就是序列,序列是一个数据库对象。生成序列的语法:  
     */  
    create sequence [user.]sequence_name  
    [start with n]1  
    [increment by n]/*以n=2为增长1,3,5*/  
    [maxvalue n | nomaxvalue]  
    [minvalue n | nominvalue]  
    [noorder|order]/*多线程,单线程*/  
    [nocycle]   www.2cto.com  
    [cache n]; /*缓存*/  
    --删除序列  
    drop sequence sequence_name;  
    --更改序列 1 3 5  
    alter sequence sequence_name  
    increment by 2  
    maxvalue 80  
    minvalue 1  
    order  
    nocycle  
    cache 2; 

推荐阅读
  • 图数据库与传统数仓实现联邦查询使用CYPHER实现从关系数据库过滤时间序列指标一、MySQL得到研报实体在Oracle中的唯一ID二、Oracle中过滤时间序列数据三、CYPHER ... [详细]
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • WPF项目学习.一
    WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
  • 本文讨论了在 Oracle 10gR2 和 Solaris 10 64-bit 环境下,从 XMLType 列中提取数据并插入到 VARCHAR2 列时遇到的性能问题,并提供了优化建议。 ... [详细]
  • 本文探讨了在 SQL Server 2012 的 Integration Services 项目中配置 ADO.NET 源时遇到的错误及其解决方案。 ... [详细]
  • MongoDB核心概念详解
    本文介绍了NoSQL数据库的概念及其应用场景,重点解析了MongoDB的基本特性、数据结构以及常用操作。MongoDB是一个高性能、高可用且易于扩展的文档数据库系统。 ... [详细]
  • 数据仓库ETL开发过程中,如何有效进行测试是一个关键问题。由于数据仓库通常包含大量数据,并且出于安全考虑,开发库和测试库的数据与生产库不完全一致,这给测试带来了挑战。本文将探讨适用于ETL开发的测试方法,包括单元测试、集成测试以及具体测试技术。 ... [详细]
  • 周排行与月排行榜开发总结
    本文详细介绍了如何在PHP中实现周排行和月排行榜的开发,包括数据库设计、数据记录和查询方法。涉及的知识点包括MySQL的GROUP BY、WEEK和MONTH函数。 ... [详细]
  • 如何在不同数据库中提取前N%的记录
    本文详细介绍了如何在SQL Server、Oracle和MySQL等不同数据库中提取前N%的记录。通过具体的示例和代码,帮助读者理解和掌握这些方法。 ... [详细]
  • Nacos 0.3 数据持久化详解与实践
    本文详细介绍了如何将 Nacos 0.3 的数据持久化到 MySQL 数据库,并提供了具体的步骤和注意事项。 ... [详细]
  • 本文介绍 DB2 中的基本概念,重点解释事务单元(UOW)和事务的概念。事务单元是指作为单个原子操作执行的一个或多个 SQL 查询。 ... [详细]
  • MySQL Server 8.0.28 升级至 8.0.30 的详细步骤
    为了修复安全漏洞,本文档提供了从 MySQL Server 8.0.28 升级到 8.0.30 的详细步骤,包括备份数据库、停止和删除旧服务、安装新版本以及配置相关环境变量。 ... [详细]
  • RocketMQ在秒杀时的应用
    目录一、RocketMQ是什么二、broker和nameserver2.1Broker2.2NameServer三、MQ在秒杀场景下的应用3.1利用MQ进行异步操作3. ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
author-avatar
dashan
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有