Oracle数据表ID自增操作

news2024/9/23 13:30:55

1、SQL编写

-- 新建用户
create user root IDENTIFIED by 123456;
-- 将默认的USERS空间分配给用户
alter user root default tablespace users;
-- 授权角色以及权限(默认三个角色:connect、resource、dba)
grant create session,create table,unlimited tablespace,resource,connect to root;

create session:登录权限

create table:建表权限

unlimited tablespace:用户在自己的空间中不限制大小

resource:resource角色

connect:connect角色

注意:序列名称、触发器名称、表名、字段名等都得带引号,否则会自动被Orale转化成大写,因为Oracle大小写敏感会导致找不到。

-- 创建表
CREATE TABLE "ROOT"."T_STU" (
  "id" NUMBER NOT NULL,
  "name" VARCHAR2(255),
  PRIMARY KEY ("id")
)

-- 创建序列
CREATE SEQUENCE "ROOT"."Seq01" MINVALUE 1 INCREMENT BY 1 NoMaxValue START WITH 1;

-- 创建触发器
create or replace TRIGGER "ROOT"."Trigger01" BEFORE INSERT ON "ROOT"."T_STU" REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW 
BEGIN
  select "Seq01".nextval into :NEW."id" from dual;
END;
-- 插入数据
INSERT INTO "ROOT"."T_STU" ("name") VALUES ('小红');
-- 查看结果
SELECT * FROM ROOT."T_STU";

2、Navicat操作

序列和触发器的位置在【其他】选项里面。

1、创建表:保存时命名  T_STU

示例字段只需要一个id,一个name即可 

 2、序列-创建序列:保存时命名 Seq001

 3、触发器-创建触发器:保存时命名   Trigger001

常规选项卡中:触发器类型选【TABLE】,表模式选【ROOT】,表明选择【T_STU】

高级选项卡中选填:引用旧【OLD】,引用新的【NEW】

 

 定义选项卡中:需要将序列Seq001的序号查出来并放入T_STU表的id中。

BEGIN
  select "Seq001".nextval into :NEW."id" from dual;
END;

 

 4、最后看一下预览SQL

其中"Untitled"是未保存的默认触发器名。

 5、最后一步插入数据观察递增情况

---------------------------------------------------------------------------------------------------------------------------- 

其他权限相关操作

-- 创建表空间
create tablespace root_tablespace datafile 'd:\data.dbf' size 2048m;
-- 用户root在表空间root_tablespace中所分配的空间没有限制
alter user ROOT quota unlimited on root_tablespace;
-- 删除表空间
drop tablespace root_tablespace including contents cascade constraints;
-- 查看所有用户
select * from dba_users;
-- 修改密码
alter user root identified by "123456";
-- revoke取消授权
revoke resource from root;
-- 查看角色包含的权限
select * from role_sys_privs where ROLE='CONNECT' or ROLE='RESOURCE';
-- 查看用户拥有的角色
select * from dba_role_privs where GRANTEE='ROOT';
-- 查看用户拥有的系统权限
select * from dba_sys_privs where GRANTEE='ROOT';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69000.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java数据结构与Java算法学习Day07---优先队列(简略笔记记录)

目录 一、优先队列 106 1.1优先队列的概念 106 1.2最大优先队列API设计 107 1.3最小优先队列 109 1.3.1最小优先队列API设计 110 1.4索引优先队列 (添加两个数组解决该问题)112 1.4.1索引优先队列的原理 112 1.4.2 索引优先队列API设计 113 1…

Spark Windows10 安装

目录一、Scala的安装二、Spark的安装1、Spark的几个版本的意思2、Spark的最新版本:[Spark最新版](https://spark.apache.org/downloads.html)3、安装Spark4、下载winutils在我们安装Spark之前,由于Spark基于Scala的,所以我们需要先安装Scala。…

机床测头应用二:自动补偿功能,提升生产良率

机床测头仿形加工功能可以保证“第一件和第一百件尺寸一致”机床测头应用一:仿形加工功能,降低废品率,此外它的自动补偿功能,也是批量生产中不可缺少的重要质量控制手段。机床测头的自动补偿能实现加工前准确找到工件中心自动更新…

从零开始学习JMETER性能测试

从零开始学习JMETER性能测试 顶级 Jmeter 讲座通过实时示例解释负载测试,包括材料和查询支持 课程英文名:Learn JMETER from Scratch on Live Apps Performance Testing 此视频教程共17.0小时,中英双语字幕,画质清晰无水印&…

实战项目演练丨九哥带你搭建精美的博客后台管理系统!

本项目是一个博客后台管理系统,主要包含四个大模块:用户、分类、博客和评论。项目启动后需要通过管理员身份进入系统,进入系统后会呈现后台管理主界面,通过后左侧的导航菜单,实现不同模块的数据维护。 一. 基本简介 …

美食杰项目(七)菜谱大全

本文目录前言:1.具体样式2.实现的具体功能和代码思路3.element ui具体样式的网址4.相关代码5.总结:前言: 本文给大家讲的是美食杰项目中菜谱大全项目的具体样式,代码思路和具体代码,希望能帮助到你 1.具体样式 2.实现…

Zabbix6.0使用教程 (一)—zabbix新增功能介绍1

使用zabbix的小伙伴应该都有关注到目前zabbix的大版本已经更新到了6.0,后面乐乐将会对如何使用zabbix6.0做一个使用教程的系列,大家可以持续关注,这篇我们主要聊聊zabbix6.0新增的一些功能介绍。 一、Zabbix server 的高可用集群 新版本附带…

Hadoop Windows10 安裝

安裝Hadoop之前,我们先需要安装JDK,JDK的安装我就不多说了 一、安装JDK 1、到Oracle的官网中下载jdk,然后解压到一个指定的文件夹,如:D:\Program Files\Java\jdk-15.0.1 2、配置环境变量:在我的电脑中的高…

SCRM是什么,SCRM和CRM区别?

要想知道什么是SCRM?首先必须清楚SCRM和CRM的区别。 1、定义不同 CRM全称:Customer Relationship Management,中文叫“客户关系管理”,是指社会化客户关系管理。CRM一词流行至今已有20余年,是企业管理系统中专门针对客…

【MySQL】第01章_数据库概述

目录第01章_数据库概述1.为什么要使用数据库2.数据库与数据库管理系统2.1 数据库的相关概念2.2 数据库与数据库管理系统的关系3.MySQL介绍3.1 概述3.2 关于MySQL 8.04. RDBMS 与 非RDBMS4.1 关系型数据库(RDBMS)4.1.1 实质4.1.2 优势4.2 非关系型数据库(非RDBMS)4.2.1 介绍4.2.…

什么是JDBC?JDBC程序的具体实现步骤

什么是JDBC?JDBC程序的具体实现步骤JDBC的全称是Java数据库连接(Java Database Connectivity),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询、更新和删除等操作。应…

2-2-3-5-3、SynchronousQueue详解

简介 SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除操作take 如图所示,SynchronousQueue 最大的不同之处在于,它的容量为 0,所以没有一个地方来暂存元素,导…

排序算法-计数排序、桶排序、基数排序

计数排序、桶排序、基数排序 这三种排序算法都利用了桶的概念,都属于用空间换时间的算法。但对桶的使用方法上有明显差异: 计数排序:每个桶只存储单一键值;桶排序:每个桶存储一定范围的数值;基数排序&…

Linux网络基础(基础概念)

Linux网络基础(基础概念) 文章目录Linux网络基础(基础概念)1.计算机网络的发展过程1.1 独立模式1.2 网络互联模式1.3 局域网 LAN1.4 广域网 WAN2.计算机网络协议2.1 协议的概念2.2 什么是网络协议2.3 什么是网络协议簇2.4 OSI 七层模型2.5 TCP/IP 五层模型3.网络传输基本流程3.…

3M EDI 855 采购订单确认报文详解

3M公司,全称明尼苏达矿业及机器制造公司。它于1902年成立,总部现位于美国明尼苏达州首府圣保罗市,为世界著名的多元化跨国企业,并且是道琼斯30种工业成分指数股票之一。 3M为管理其庞大的供应链建立了EDI(Electronic D…

微信小程序|使用小程序制作一个马赛克处理工具

此文主要使用微信小程序制作一个马赛克处理工具,这个场景在生活中也非常常见,例如新闻之类有些视频或者图片不想给大众展示就会将其和谐掉,这就是马赛克应用。 开发步骤创建小程序功能开发实现API接口响应开发步骤 创建小程序 准备百度以及微…

[附源码]Python计算机毕业设计Django医疗器械公司公告管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

2022年11月份中国最具影响力的50位钧瓷匠人排行榜

讲好钧瓷产业的故事 有深度的故事,有温度的内容 有态度的文字,有立场的思考 版权声明:钧瓷内参独家发布,侵权必究 第320期 钧瓷内参 2022年12月1日 低代码——钧瓷企业数字化转型的核心引擎 2022年11月…

百趣代谢组学分享,肠道神奇细菌竟能调控体重,减肥有望“吃出来”

​代谢组学分享,上海交通大学附属瑞金医院宁光院士团队在Nature Medicine在线发布中国人肥胖的肠道菌群的较新研究,发现一系列丰度显著异于正常体重人群的肠道共生菌,其中多形拟杆菌(BT菌)口服可降低小鼠血清谷氨酸浓度…

java计算机毕业设计ssm校园安全随手拍系统wc38l(附源码、数据库)

java计算机毕业设计ssm校园安全随手拍系统wc38l(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xf…