oracle如何创建表的自增ID(通过触发器)
Oracle中创建表的自增ID(通过触发器),序列的自增ID和触发器的自增ID的区别
1、新增数据(序列)
--创建示例表 --
create table Student(
stuId number(9) not null,
stuName varchar2(20) not null,
stuMsg varchar2(50) null
) -- 创建序列 Student_StuId_Seq --
create sequence Student_StuId_Seq
increment by 1
start with 1
minvalue 1
maxvalue 999999999; --调用序列 --
select Student_StuId_Seq.Nextval 序列号 from dual; --插入数据(序列)--
insert into Student(STUID,STUNAME) values(Student_StuId_Seq.Nextval,'王五');
2、新增数据(触发器)
--创建示例表 --
create table Student(
stuId number(9) not null,
stuName varchar2(20) not null,
stuMsg varchar2(50) null
) -- 创建序列 Student_StuId_Seq --
create sequence Student_StuId_Seq
increment by 1
start with 1
minvalue 1
maxvalue 999999999; --创建触发器 --
create or replace trigger Student_StuId_Trigger
before insert on Student ----(sysrole为表名)
for each row----触发每一行
begin
select Student_StuId_Seq.Nextval into :new.StuId from dual;
end; --新增数据(触发器)--
insert into Student(STUNAME) values('赵六');
3、查询结果
--查询数据--
select * from Student;
aaarticlea/png;base64,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" alt="" />
PS: 序列可以理解成一个获取表的自增ID的函数(手动),触发器是当新增数据(自动)时,获取表的自增ID
oracle如何创建表的自增ID(通过触发器)的更多相关文章
- oracle中如何创建表的自增ID(通过序列)
1.什么是序列呢? 序列是一数据库对象,利用它可生成唯一的整数.一般使用序列自动地生成主码值.一个序列的值是由特别的Oracle程序自动生成,因而序列避免了在运用层实现序列而引起的性能瓶颈. Orac ...
- Oracle数据库创建表ID字段的自动递增
转载地址:http://blog.itpub.net/22880668/viewspace-1117343/ 将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现) ----创建 ...
- Oracle的创建表和创建约束的Sql语句
Oracle的创建表和创建约束的Sql语法 1.创建表的语句 ---1.创建模拟的数据表 --- --1.1.创建学生表Student create table Student( StuId NUMB ...
- Oracle 10g创建表空间的完整步骤详解
本文我们主要介绍了Oracle 10g创建表空间的完整步骤,包括表空间的创建与删除.为应用创建用户以及权限的授予等操作,希望能够对您有所帮助. AD:WOT2014:用户标签系统与用户数据化运营培训专 ...
- Oracle数据库创建表是有两个约束带有默认索引
Oracle数据库创建表是有两个约束带有默认索引.1.主键primary Key:唯一索引.非空2.唯一Unique:唯一索引,可以是空值如果没有设定主键和唯一约束,表中不会有默认索引的. 建立主键/ ...
- Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间
Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一: 删除user drop ...
- 数据库表的自增ID createDate和updateDate 用JPA注解代替触发器实现
对于数据库表的自增ID , createDate和updateDate 等字段,用JPA注解代替触发器实现,效率会高很多. 由于这些属性很多entity都有 可以写成两个基本entity :BaseE ...
- oracle创建表空间自增空间管理
表空间(tablespace).段(segment).区(extent).块(block),这些都是oracle数据库在数据文件中组织数据的基本单元 1.创建表空间create tablespace ...
- oracle数据库创建表
实际工作中,在数据库中创建表是经常会用到的.我们今天呢?主要给大家来分享一下在数据库如何通过sql语句去创建表.其实,创建表很简单,只需要把数据库的数据类型和约束搞清楚就可以了,其他的就好说了.接下来 ...
随机推荐
- Qt5.WebView.添加节点的测试代码
1.代码: #include "mainwindow.h" #include "ui_mainwindow.h" #include <QWebFrame& ...
- Java——HashMap
获取数组长度 数组.length 获取下标 HashMap HashMap 构造函数 // 默认构造函数. HashMap() // 指定“容量大小”的构造函数 HashMap(int capacit ...
- Java 层序创建和遍历二叉树
直接上代码 package te.com; import java.util.LinkedList; import java.util.Queue; import java.util.logging. ...
- 力扣(LeetCode) 27. 移除元素
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...
- python模块(2)
1.OS模块 print(os.getcwd()) #获取当前工作目录 os.chdir('E:\python练习\python35学习') #更改目录 print(os.getcwd()) E:\p ...
- 《剑指offer》第五十三题(数字在排序数组中出现的次数)
// 面试题53(一):数字在排序数组中出现的次数 // 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组{1, 2, 3, 3, // 3, 3, 4, 5}和数字3,由于3在这个数组中出 ...
- 00-python-内置函数笔记
01.enumerate()函数用于将一个可遍历的数据对象(如 列表.元组或字符串)组合为一个索引序列,同时列出数据和数据包下标,一般用在for循环中 for i, element in enumer ...
- C# ---- GC中代的递增规律
只有当对象所在代被 Collect 了,改对象所在代才会加 1 ,代值最大为 2 示例1: using System; namespace myMethod { class People{} clas ...
- HeadFirst Ruby 第七章总结 references
前言 这一章的内容关于 references,讲了当 Ruby 程序中可能会遇到关于 reference 与 object 之间概念混淆而导致的问题. 导言 本章从一个 astronomer 发现 s ...
- redis安装配置:inux系统为centOS 64位
下载Redis-4.0.6.tar.gz包 我下载的到自己的默认目录/root/software/下 1. 然后解压到这个目录下 /usr/local/src/ 解压命令: tar -xzf redi ...