Oracle如何建立自增主键
1.创建表并设置主键.
2.创建序列.
3.创建触发器.
例如:假设已建立好数据表 表名为tbl_name,主键列为tbl_id,其他列有tbl_name ,tbl_age,tbl_xxx....
然后开始创建Oracle序列:
CREATE SEQUENCE seq_name -- 尽量使用统一前缀命名,方便管理
INCREMENT BY 1 -- 自增步长 这里设置为1
START WITH 1 -- 计数起点 这里设置为1
NOMAXVALUE -- 不设置最大值 可选项 MAXVALUE|MINVALUE
NOCYCLE -- 一直累加,不循环
CACHE 10; -- 如果追求效率 可设置缓存 如果在Oracle宕机或者断电等非正常中断服务的情况 可能会造成序列不连继续的情况出现,如果不使用缓存,则这里写NOCHACHE
然后建立触发器:
CREATE OR REPLCAE TRIGGER tri_name --触发器名称
BEFORE INSERT ON tbl_name -- 在向tbl_name表插入数据之前触发
FOR EACH ROW-- 表示该触发器为一个行级触发器
BEGIN -- 触发器开始
-- 以下代码表示触发器的行为
SELECT seq_name.nextval INTO :new.tbl_id FROM tbl_name -- seq_name.nextval返回的是序列的下一个值, 将该值设为新值插入到tbl_name表中的主键列tbl_id中去.
END -- 触发器结束
以上完成的是Oracle主键自增的设置.
MySQL存储过程的建立及使用
1.创建存储过程:
CREATE PROCEDURE proc_name ( out s int) -- 创建存储过程 proc_name为存储过程名 参数列表中 out表示参数是返回值 输入值使用in s是参数名称 int表示参数类型
BEGIN -- 存储过程开始
SELECT * FROM tbl_name WHERE tbl_id = s ; -- 该存储过程表示在tbl_name表中查询一个tbl_id的值为s的结果
END; -- 存储过程结束
2.调用存储过程
SET @p=0; -- 设置用户变量并初始化
CALL proc_name(@p) ; -- 调用存储过程 使用CALL命令 并将设置好的变量放到参数列表中 注意:即使该存储过程没有变量 也要写上(),这和程序中的方法声明一致
3.查看存储过程
SHOW PROCEDURE STATUS
4.删除存储过程
DROP PROCEDURE pro_name -- 后接存储过程名
Oracle 子查询因子化
特点:
1.消除复杂的SQL语句,使查询更易于理解。
2.Oracle可能将因子化的子查询作为临时表来处理,一遍提高效率。
SQL写法:
WITH query_name AS (
// query_sql -- 写查询语句
)[, query_name2 AS( query_sql)] -- 可以写多个连续的子查询,需要注意的是下一个子查询中要包含上一个子查询的内容才行
SELECT column FROM query_name -- 直接调用该子查询的名称
分享到:
相关推荐
目录] 基础知识 ——一些基本的东西 [目录] 控件开发与使用 ——控件的使用与开发技巧 [目录] 局域网与Internet ——局域网通讯和TCP/IP程序开发 [目录] 数据库 ——单层/两层和多层结构的数据库开发 [目录] ...
Delphi基础 文件操作相关 操作系统相关 OLE_ACTIVEX_DLL相关 网络与通讯编程 数据库相关 图形图像与多媒体开发 VCL扩展 WEB开发 其它杂项
内含考点精讲、分类练习、知识点总结等内容。复习软件设计师下午题,看这个就够了。
java8 源码 Read 2020读书笔记 介绍 项目收集自己阅读的书籍笔记,以后后续查阅快速定位(在GitHub图片不能正常显示,应该是我网速原因,所以...杂项 工具使用 其他语言 3.1 工具 3.2 其他语言 3.3 视频学习 3.3.1 尚硅谷
一个ZJU本科生的计算机/地理信息科学知识库 路漫漫其修远兮... 这里是一些地理信息科学/计算机科学与技术的课堂笔记/作业(或者也许也是自学的部分,存放一些杂项)的整理,主要包含各种本科课程的作业、笔记、项目...
这里是一些地理信息科学/计算机科学与技术的课堂笔记/作业(或者也许也是自学的部分,放置一些杂项)的整理,主要包含各种本科课程的作业,笔记,项目链接,对课程的总结和经验分享等等...也许可以供您参考;不过我...
杂项 57 1.setenv PATH和set path 57 2.awk中输出单引号 57 3.awk或read找出文件行字符数大于80的行 57 4.shell脚本程序中的用户切换: 57 5.shell中删除文件且不显示输出信息和出错信息 58 6.shell变量赋...
第二篇 服务器数据库篇 第二章 Apache函数 第三章 ODBC函数 第四章 MySQL函数 第三篇 数组字符篇 第五章 Arrays函数 第六章 Srtings函数 第七章 Hash函数 第八章 正则表达式函数 第四篇 文件目录操作篇 第九章 ...
第二篇 服务器数据库篇 第二章 Apache函数 第三章 ODBC函数 第四章 MySQL函数 第三篇 数组字符篇 第五章 Arrays函数 第六章 Srtings函数 第七章 Hash函数 第八章 正则表达式函数 第四篇 文件目录操作篇 第九章 ...
第二篇 服务器数据库篇 第二章 Apache函数 第三章 ODBC函数 第四章 MySQL函数 第三篇 数组字符篇 第五章 Arrays函数 第六章 Srtings函数 第七章 Hash函数 第八章 正则表达式函数 第四篇 文件目录操作篇 第九章 ...
第二篇 服务器数据库篇 第二章 Apache函数 第三章 ODBC函数 第四章 MySQL函数 第三篇 数组字符篇 第五章 Arrays函数 第六章 Srtings函数 第七章 Hash函数 第八章 正则表达式函数 第四篇 文件目录操作篇 第九章 ...
学习高等数学工程制图计算机图形学计算机系统结构计算机组成原理计算机网络考研离散数学马原密码学人工智能导论软件工程软件需求分析数据结构数据库原理甲数学建模数字电路数字图象处理数字信号处理算法导论网络编程...
9.1 数据库事务基础知识 9.1.1 何为数据库事务 9.1.2 数据并发的问题 9.1.3 数据库锁机制 9.1.4 事务隔离级别 9.1.5 JDBC对事务支持 9.2 ThreadLocal基础知识 9.2.1 ThreadLocal是什么 9.2.2 ThreadLocal的接口方法 ...
9.1 数据库事务基础知识 9.1.1 何为数据库事务 9.1.2 数据并发的问题 9.1.3 数据库锁机制 9.1.4 事务隔离级别 9.1.5 JDBC对事务支持 9.2 ThreadLocal基础知识 9.2.1 ThreadLocal是什么 9.2.2 ThreadLocal的接口方法 ...
杂项 油猴 jobs 面试 Java面试题 算法面试题 linux面试题 misc Java misc Netty Java8 Java9 泛型 网络编程 多线程 单元测试 应用示例 JDBC 序列化 JVM IO NIO 集合 Map List 爬虫 String 正则表达式 日志 log4j ...
秘密忍者一组 Markdown 文件,其中包含与 Web 开发...杂项安全证书 SSL 握手的基础知识域名系统权威与递归 DNS 服务器 - 硬盘随机与顺序 IO 了解硬盘工作Http 标头状态HTTP 缓存 通用数据库完整理解sql的10个简单步骤...
EdgarOlv.github.io 概括电脑工程师Vitóriada Conquista / BA 我目前主修计算机工程,并积极参与科学启动项目和... Typescript, ReactJs , Node.Js- HTML5, CSS3 , PHP数据库 - SQLite- MySQL- MongoDB杂项/工具 - G
以后不再维护,转移到笔记总览(source目录)反弹:Java笔记基础java知识点,基本全是代码+注释反射,注解,jdbc,javaweb,redis基本使用java并发基础,完善中。替代设计原理。 杂项,日常学习中遇见的一些问题,...
它不是100%完整的,但是希望它涵盖了使用MongoDB作为数据库在nginx后面运行不同的Node.js应用程序所需的大多数知识。 如果您发现任何不同意的内容,请告诉我。 给我发送电子邮件或只是请求请求,我将查看我是否...