![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ORACLE
文章平均质量分 76
Tapyou
当然是努力生活啦
展开
-
ORACLE 日常总结
查看触发器SQL 语句select * from all_triggers原创 2021-11-08 10:09:24 · 521 阅读 · 0 评论 -
PLSQL ALTER语法以及相关创表所需约束 (关键)
--伪列可以像其他列一样被查询但是不能修改levelrownum 行号rowid 行地址·level必须从1开始,并且是连续的 必须和connect by配合使用 --只有connect by 限制了他的·levellevel的用法★(必须记住这个)1.树形查询返回节点深度 --之前说过2.控制显示格式--控制缩进 --之前说过3.生成多条记录4.一行变多行--生成多条记录select levelfrom dualconnect ...原创 2021-10-26 17:22:13 · 1536 阅读 · 0 评论 -
PLSQL 触发器,包,定时任务
--触发器 triggerDML触发器语法:create or replace trigger 触发器名before|after --before指事前触发器,after指事后触发器dml操作 on 表[for each row] --默认是语句级,写了是行级[declare 声明]beginend;语句级触发:当某事件发生时,该触发器执行一次行级触发: 当某事件发生时,影响一行触发一次--emp1有emp,20部门的数据,emp2是空表,表结构同...原创 2021-10-26 17:19:51 · 667 阅读 · 0 评论 -
PLSQL 添加注释,表删除闪回,数据字典使用方法,立即执行(存过)
--数据字典(视图)┌静态┌dba_* 存储了整个数据库所有的对象的信息--必须拥有管理员权限│ ├all_* 存储了当前用户能访问的所有对象的信息--不一定属于当前用户│ └user_* 存储了当前用户所拥有的对象的信息└动态 v$*user_tables --所有的表user_views --所有的视图user_constraints --所有的约束user_sequences --所有的序列user_indexes ...原创 2021-10-25 16:45:26 · 1004 阅读 · 0 评论 -
PLSQL 存储过程
--存储过程 procedure语法 --相当于没有return的函数create or replace procedure 存过名(参数1 [in]|out 数据类型)is|asbegin[exception]end;--制作一个存过,把emp表的员工信息插入到emp1之后--更新emp1的员工姓名为小写--删除1980年入职的员工信息create or replace procedure pro_1isbegin insert into...原创 2021-10-25 16:40:46 · 2443 阅读 · 0 评论 -
PLSQL 层层嵌套,自定义函数
匿名块declarebeginexceptionend;--exception 异常┌预定义异常 --系统给的,有名字├非预定义异常 --系统给的,没有名字└用户自定义异常 --用户自己定义的为什么要处理异常?由于plsql程序块一旦产生异常而没有指出如何处理时,程序会自动终止。异常情况处理就是用来处理这些正常执行中未预料到的事件。--预定义异常 (不用声明)┌违反唯一性限制 dup_val_on_index ...原创 2021-10-25 16:39:15 · 794 阅读 · 0 评论 -
PLSQL 异常报错
匿名块declarebeginexceptionend;--exception 异常┌预定义异常 --系统给的,有名字├非预定义异常 --系统给的,没有名字└用户自定义异常 --用户自己定义的为什么要处理异常?由于plsql程序块一旦产生异常而没有指出如何处理时,程序会自动终止。异常情况处理就是用来处理这些正常执行中未预料到的事件。--预定义异常 (不用声明)┌违反唯一性限制 dup_val_on_index ...原创 2021-10-25 16:35:37 · 1289 阅读 · 0 评论 -
PLSQL LOOP,WHILE.FOR 循环,游标
循环 --注意自增语法loop 要执行的语句; [exit when 退出条件;]end loop;--循环打印1-10declarev1 number:=1;begin loop dbms_output.put_line(v1); v1:=v1+1; exit when v1=11; end loop;end; --循环的三大组成部分:初始值,顺序,退出条件--循环打印1-10declarev1 ...原创 2021-10-25 16:34:28 · 1239 阅读 · 0 评论 -
PLSQL 匿名块
┌regexp_like├regexp_instr├regexp_substr├regexp_replace└regexp_count二:regexp_replace(str1,匹配模式[,str2,[数1[,数2[,匹配参数]]]])str1:原字符串str2:要替换成的字符串,不写默认为空数1:从数1位开始,不写默认为1数2:第数2次符合匹配模式的,不写默认全替换在str1中将满足匹配模式的字符串替换为str2,从第数1位开始,第数2出现--把zip列中所有的非数字替换为空原创 2021-10-25 16:30:44 · 857 阅读 · 0 评论 -
PLSQL merge into 语法,正则语法
--merge into 合并数据--有则改之无则加勉语法:merge into 表A --进行插入和更新的表using 表B --参考表on (条件) --条件when matched then --当匹配上 update set a.列=b.列|值,..when not matched then --当没匹配上 insert (列1,列2..) valu...原创 2021-10-25 16:28:25 · 1731 阅读 · 0 评论 -
序列,insert 插入语法 ,创建视图语法
--行列转换select *from demoselect *from kecheng┌行转列└列转行--行转列select id,name, max(case when course='语文' then score end) 语文, max(case when course='数学' then score end) 数学, max(case when course='英语' then score end) 英语, max(cas...原创 2021-10-25 16:26:14 · 665 阅读 · 0 评论 -
PLSQL 树查询语法level
树形查询 又叫层次查询树形查询通常由根节点、父节点、子节点、叶子结点组合根节点:当前节点之上没有其他节点的叶子节点:当前节点之下没有其他节点的父节点:当前节点之下有其他节点的子节点:当前节点之上有其他节点的level 节点深度树形查询的函数1.sys_connect_by_path(列,分隔符) 合并层级2.connect_by_root 列 返回根节点3.connect_by_isleaf 判断是否为叶子节点树形查询的语法selectfrom[...原创 2021-10-25 16:23:03 · 1180 阅读 · 0 评论 -
PLSQL 子查询(WITH),表链接 LEFT RIGTH FULL
--多列子查询当表使用--查询各部门工资最高的前三名select *from (select ename,sal,deptno,rank()over(partition by deptno order by sal desc) 排名 from emp)where 排名<=3--查询emp表每个部门的最高工资,最低工资,人数,平均工资--显示(最高工资-最低工资)/人数>平均工资的三分之一的部门select deptno,max(sal),min(sal),c...原创 2021-10-25 16:19:13 · 1485 阅读 · 0 评论 -
PLSQL UNION ,简单子查询
--集合┌union|union all 并集├intersect 交集└minus 差集A={1,2,3,4,5}B={1,3,6,9,4}union:1,2,3,4,5,6,7union all:1,2,3,4,5,1,3,6,9,4intersect:1,3,4A minus B:2,5B minus A:6,9A:员工表名字包含A的员工信息B:员工表名字包含S的员工信息select *from empwhere ena...原创 2021-10-23 18:05:29 · 1209 阅读 · 0 评论 -
PLSQL 下联总结详细分析函数
回顾查询┌简单查询┌语法 select 列1,列2 from 表 │ └别名 select 列1 [as] 列别名,列2 from 表 表别名 └限定查询┌语法 select 列1,列2 from 表 where 条件 └操作符┌比较符 > < >= <= = != <> ├逻辑符 and or not ├between 小值...原创 2021-10-23 18:04:00 · 328 阅读 · 0 评论 -
PLSQL 分组分析日期函数(去空三剑客)
--去空三剑客4.coalesce(参1,参2....) 多个参数中第一个不为空的值select coalesce(null,null,123,null,456)from dual--查询提成,经理编号,工资--以及他们中第一个不为空的值select comm,mgr,sal,coalesce(comm,mgr,sal)from emp去空:coalesce(comm,0) --查询每位员工每个月的总工资select sal,comm,sal+coalesc...原创 2021-10-23 18:02:16 · 607 阅读 · 0 评论 -
PLSQL 日期函数
日期函数1.sysdate 当前系统时间日期加减数字=日期加减天数日期-日期=相差的天数2.add_months(日期,数) 日期加减月数数会自动截断取整select add_months(sysdate,1), add_months(sysdate,-1), add_months(sysdate,12), add_months(sysdate,1.9)from dual--查询三个月前距今多少天select s...原创 2021-10-23 18:00:05 · 11547 阅读 · 0 评论 -
PLSQL 日期函数
8--日期的表达方式1.date '年-月-日'2.to_date(str,'格式')3.'日-某月-年' 如:'8-7月-2021' --只能用于限定select*from empwhere hiredate='17-12月-1980'1.to_char(日期,'格式') 提取日期中的元素 日期→字符型格式:yyyy 年mm 月dd 日hh|hh12 12小时制hh24 24小时制mi ...原创 2021-10-23 17:58:53 · 5891 阅读 · 0 评论 -
PLSQL 通用函数和转换函数
15.concat(str1,str2) 连接字符串只能有两个参数,如果需要多个字符串连接必须函数嵌套select concat(concat('abc','efg'),'hij')from dualselect 'abc'||'efg'||'hij'from dual16.to_single_byte(str) 转半宽17.to_multi_byte(str) 转全宽select 'a',to_multi_byte('我'),to_single_by...原创 2021-10-23 17:57:31 · 2162 阅读 · 0 评论 -
PLSQL 数值函数和字符函数
--查询员工编号-经理编号的绝对值select abs(empno-mgr)from emp--查询员工编号,部门编号,员工编号除以部门编号的余数select empno,deptno,mod(empno,deptno)from emp--把1314.520向上取整后四舍五入保留到整百select round(ceil(1314.520),-2)from dual--查询员工编号减去他的工资的结果和截断到整数后的结果select empno-sal,trunc(empno-sa.原创 2021-10-23 17:54:57 · 1813 阅读 · 0 评论 -
PLSQL 模糊查询语法
优先级:计算的顺序1.小括号2.乘除3.加减,连接符4.比较符5.is null,in6.between and7.not8.and9.or小括号优先级最高,or的优先级最低可以用小括号来改变优先级同一优先级从左往右依次计算如果不记得优先级顺序,记得加括号((A and B) or (C and D))((A or (B and C)) or D)--简单查询--限定查询--模糊查询语法:select 要查询的内容from 数据来源where 列...原创 2021-10-23 17:51:55 · 3260 阅读 · 0 评论