
PLSQL
菜鸟进阶站
要对技术有一定的执着力。
展开
-
Oracle自治事务示例演示
通俗的讲,自治事务可以将程序块中(Procedure、Function、Package)的事务进行单独提交,而不会影响主事务(DML);事务提交和回滚时不会影响到主事务中的操作。自治事务(Pragma autonomous_transaction):是PL/SQL块中的一个单独事务,与调用或触发自己的事务之间互不干扰,自己。若先执行主事务后,再执行存储过程,Oracle默认DDL操作会隐式提交主事务。如上所示,我在存储过程中添加了自治事务,且程序块中没有其他任何操作,只有回滚事务的操作。原创 2022-11-27 19:00:00 · 1168 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程day15 DDL、DML、索引、视图、序列、死锁这一篇就够了
DDL、DML、索引、视图、序列、死锁这一篇就够了原创 2022-06-21 09:00:00 · 615 阅读 · 3 评论 -
【Oracle 数据库】奶妈式教程 day14 转换函数
1、ASCII(str) 把一个字符转换成一个 ASCII 码2、CHR(num) 根据ascii 转换成对应的97字符3、to_number(str)把字符类型的数字转换成数值类型的数字4、to_date(str,'格式') 把字符串 转换成日期5、to_char(日期,格式)把日期转换成字符格式6、to_char(NUM,'格式')...原创 2022-06-20 10:00:00 · 646 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程 day13 日期函数
1、SYSDATE 返回当前系统的本地时间2、add_months(日期1,数)3、months_between(日期1,日期2)求两个日期相差的月数4、next_day(日期,数字) 求下个周几 (数字代表周几)5、last_day(日期)返回当前日期所在月份的最后一天6、TRUNC(日期,'格式') 截断到日期之初...原创 2022-06-19 12:30:00 · 246 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程 day12 字符函数
1.upper(STR) 转大写2.lower(STR) 转小写3.initcap(str) 转首字母大写举例:查询员工姓名转首字母大写 职位转小写4.length(str) 字符长度5.lengthb(str) 字节长度6.TRIM(STR) 去两端空格7.LTRIM(STR1[,STR2]) 去做左端的字符8.RTRIM(STR1[,STR2]) 去右端的字符 str2不写默认去空格9.lpad(STR1,数,str2) 向左填充10.rpad(STR1,数,str2) 向右填充原创 2022-06-18 10:45:00 · 249 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程 day11 数值函数
1.abs(值) 绝对值2.mod(数1,数2) 取余举例:查询员工编号为奇数的员工信息3.ceil(数) 向上取整4.FLOOR(数) 向下取整5.round(数1[,数2])四舍五入6.trunc(数1[,数2]) 截断7.sign(数) 判断正负零8.power(数1,数2) 次方和开方...原创 2022-06-17 13:00:00 · 450 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程 day10 分页
分页知多少原创 2022-06-16 10:45:00 · 233 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程 day09 子查询
不一样的子查询原创 2022-06-15 10:30:00 · 479 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程 day08 全连接 左外连接 右外连接
语法:举个例子:查询所有部门和员工信息full outer join :中的outer可以省略语法:举例:查询所有部门信息,以及各部门下的员工信息除此之外,还有一种方法:注意:用(+)表示的左连接或者右连接,如果是左连接,那么符号加在右表的关系列上,如果是右连接,那么符号加在左表的关系列上语法:举例:查询员工信息,并显示它的部门信息或者感谢关注!回复"优化"获取SQL优化资料;回复"面试"获取面试重点资料;回复"数据库安装包"获取Or原创 2022-06-14 11:00:00 · 1351 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程 day07 内连接
关于内连接你了解多少?原创 2022-06-13 11:45:00 · 271 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程day04 排序查询
排序分组原创 2022-06-10 08:00:00 · 581 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程day06 交叉连接
交叉连接原创 2022-06-12 08:00:00 · 414 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程day05 集合操作符
集合操作符原创 2022-06-11 08:00:00 · 212 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程day03 排序查询
排序分组原创 2022-06-09 08:00:00 · 950 阅读 · 0 评论 -
【Oracle 数据库】奶妈式教程day02 数据库管理工具SQLPLUS的使用
Oracle自带的SQL Plus插件原创 2022-06-08 14:40:24 · 2168 阅读 · 0 评论 -
Oracle合并——merge into
merge 合并:有则更新 无则插入MERGE INTO 目标表USING 源表ON (链接条件)WHEN MATCHED THEN UPDATE ...WHEN NOT MATCHED THEN INSERT .. MERGE INTO TAR_GLLZ AUSING GLLZ BON (A.ID = B.ID)WHEN MATCHED THEN UPDATE SET A.NAME = B.NAME WHEN NOT MATCHED原创 2022-05-19 15:23:35 · 552 阅读 · 0 评论 -
Oracle拉链表(面试常问)
拉链表可以保存历史数据的表(保存每一条数据的生命周期) a 100 2022-01-01 b 100 2022-01-01 a 200 2022-01-02 开链 闭链a 100 2022-01-01 2022-01-02a 200 2022-01-02 9999-12-31b 100 2022-01-01 9999-12-31 某条数据开链日期 要作为 上一条数据的闭链日期 -- 创建原表CREATE TABLE SR原创 2022-05-19 15:21:33 · 2195 阅读 · 0 评论 -
Oracle中WITH AS的用法(面试常问)
WITH AS为什么面试官说with as 可以起到优化的作用?因为:with as 是可以给子查询取一个别名我们可以这么理解,with as 执行完后会将该语句记录到临时表中在接下来的语句中我就可以直接使用该别名了,也就是说我可以直接使用我临时表中的结果(因为在上面已经执行过了)一次编译 多次使用...原创 2022-05-19 15:06:56 · 1949 阅读 · 0 评论 -
关于PL/SQL我写了一份从0到1的入门教程
PL/SQL什么是PL/SQL 许多时候我们会利用结构化查询语言(SQL)来访问和操作关系型数据库。这种语言的特点就是非过程化。也就是说使用的时候不用指明执行的具体方法和途径,即不用关注任何的实现细节。但这种语言也有一个问题,就是在某些情况下满足不了复杂业务流程的需求。 所以就出现了PL/SQL,Oracle的PL/SQL语言正是完美的解决了这个问题,也就是过程化语言。和JAVA、C#等语言一样可以关注细节,用它可以实现复杂的业务逻辑。PL/SQL的优点 使用PL/SQL可以编写具有很原创 2022-04-11 14:42:07 · 1738 阅读 · 0 评论 -
程序包——PL/SQL教程(九)
程序包概述程序包是对相关过程、函数、变量、游标和异常等对象的封装程序包由规范(包头)和主体(包体)两部分组成 规范中可以声明程序包中公共对象。包括类型、变量、常量、异常、游标规范和子程序规范等 其语法格式如下: create [or replace] package 包名 is [declare_variable]; -- 规范内声明变量 [declare_type]; -- 规范内声明类型 [declare_cursor]; -- 规范内声明游标 [declare_function];原创 2021-11-24 00:00:00 · 574 阅读 · 0 评论 -
触发器——PL/SQL(八)
触发器什么是触发器?我们生活就有许多触发器,比如:灯的开关,手枪扳机。。。而数据库的触发器与表相关联的、存储的pl/sql程序。每当一个特定的数据操作语言在指定的表中发出时,Oracle自动执行触发器中定义的语句序列。-- 触发器可用于1、数据确认2、实施复杂的安全性检查3、做审计,跟踪表上所做的数据操作等4、数据的备份和同步-- 触发器分类1、DML触发器: 表级触发器(语句级触发器) 行级触发器 instead of 触发器2、模式(DDL)触发器3、数据库级触发器原创 2021-11-23 00:00:00 · 998 阅读 · 0 评论 -
存储过程和函数——PL/SQL教程(七)
存储过程和函数概述:ORACLE 提供 可以把PL/SQL 程序存储在数据库中,并可以在任何地方来运行它。这样就叫存储过程或函数。存储过程和函数统称为PL/SQL子程序,他们是被命名的PL/SQL块,均存储在数据库中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。过程和函数的唯一区别是函数总向调用者返回数据,而过程则不返回数据。存储过程存储过程,就是一段存储在数据库中执行某块业务功能的程序模块。它是由一段或者多段的PL/SQL代码块或者SQL语句组成的一系列代码块。--创建存储过程的原创 2021-11-22 00:00:00 · 887 阅读 · 0 评论 -
异常处理——PL/SQL教程(六)
异常处理概述/*在PL/SQL中出现的异常,如果我们没有处理,异常会被传递给调用环境,中断我们的程序。*/declare v_job emp.job%type;begin select job into v_job from emp where empno=8001; dbms_output.put_line(v_job);-- 异常 没有找到数据 dbms_output.put_line('程序结束');end;/*PL/SQL程序会从发生异常的代码处中断,以后的代码是原创 2021-11-20 13:27:45 · 672 阅读 · 0 评论 -
动态SQL——PL/SQL教程(五)
动态sql/*它是指在PL/SQL程序执行时生成的SQL语句,在编译过程中对它不做处理。而是在程序运行时动态构造语句、对语句进行语法分析并执行。我们之前在PL/SQL中只能使用DML、DQL。不能直接使用DDL;但是我们可以通过动态SQL来执行DDL语句命令。格式:execute immediate 字符串参数 [into] 变量 using 参数*/-- 按照员工编号查询员工的信息declare v_emp emp%rowtype;begin/* select * int原创 2021-11-21 00:15:00 · 444 阅读 · 0 评论 -
集合类型详解——PL/SQL教程(四)
集合类型/*集合的定义: 集合是相同类型元素的组合。在集合中,使用唯一的下标来标识其中的每个元素。 而集合又分为以下几个类型:1、索引表也叫关联数组2、嵌套表3、可变长度数组*/索引表/*索引表: 可以使用整数(pls_integer,binary_integer)或字符串当下标,下标可以是不连续的。 索引表的元素的个数是无限制的 索引表只能用在plsql中,不能保存再数据库 定义索引表类型的语法: type 类型名称 is table of 数据类型(是集合中值原创 2021-11-21 00:00:00 · 363 阅读 · 0 评论 -
SQL游标——PL/SQL教程(三)
SQL游标/*在执行执行增删改查语句的时候,Oracle都会开辟一块内存空间,用来暂时存放收到SQL语句影响的数据。这块内存空间就被称为游标区域,我们可以借助于游标来分析这些受到影响的数据*//*游标的分类:1、隐式游标:增删改查语句都会由隐式游标,也就是说,我们可以通过隐式游标来分析受到增删改查语句影响的数据。2、显式游标:在PL/SQL种执行select语句的特殊要求:(1):select语句只能返回一条记录(2):必须搭配使用into也就是说:显示游标专门用来从数据库种查原创 2021-11-20 17:45:00 · 687 阅读 · 0 评论 -
PL/SQL逻辑关系——PL/SQL教程(二)
逻辑关系IF语句/*IF语句的逻辑条件可以是一个逻辑表达式,也可以由多个逻辑表达式连接在一起,连接多个表达式的符号就是连接操作符,包括and(与)or(或)not(非)*/declare v_total_sal number(9,2):=0; -- PL/SQL中用 := 赋值 c_tax_rate constant number(3,2) :=8.25 -- PL/SQL中的常量只能赋值一次 -- 常量格式 常量名 constant 数据类型 := 默认值 v_gen原创 2021-11-20 17:30:00 · 503 阅读 · 0 评论 -
PL/SQL基础:结构、变量处理——PL/SQL教程(一)
什么是PL/SQL 许多时候我们会利用结构化查询语言(SQL)来访问和操作关系型数据库。这种语言的特点就是非过程化。也就是说使用的时候不用指明执行的具体方法和途径,即不用关注任何的实现细节。但这种语言也有一个问题,就是在某些情况下满足不了复杂业务流程的需求。 所以就出现了PL/SQL,Oracle的PL/SQL语言正是完美的解决了这个问题,也就是过程化语言。和JAVA、C#等语言一样可以关注细节,用它可以实现复杂的业务逻辑。PL/SQL的优点 使用PL/SQL可以编写具有很多高级功能的程原创 2021-11-20 13:16:11 · 998 阅读 · 0 评论 -
PL/SQL集合详解
集合类型/*集合的定义: 集合是相同类型元素的组合。在集合中,使用唯一的下标来标识其中的每个元素。 而集合又分为以下几个类型:1、索引表也叫关联数组2、嵌套表3、可变长度数组*/索引表/*索引表: 可以使用整数(pls_integer,binary_integer)或字符串当下标,下标可以是不连续的。 索引表的元素的个数是无限制的 索引表只能用在plsql中,不能保存再数据库 定义索引表类型的语法: type 类型名称 is table of 数据类型(是集合中值的原创 2021-11-15 17:24:05 · 1049 阅读 · 1 评论 -
Oracle SQL学习笔记或教程,教科书版级别的笔记。看完你就会了!!
select简单查询select查询语法-- 查询所有-- 结构/格式 select 查询的信息 from 数据来源-- * 表示所有,下面语句 表示 查询一张表里的所有数据select * from 表名;-- 查询表中的 某个字段的数据 或者列 多个字段用英文逗号隔开select 字段名1,字段名2 from 表名;select去重、别名和排序-- 去重 distinctselect distinct 字段名 from 表名;-- 别名 给 字段/列 取别名 (俩种方法如原创 2021-07-14 21:29:57 · 839 阅读 · 2 评论