![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle入门教程
更好的自己520
这个作者很懒,什么都没留下…
展开
-
oracle中函数和存储过程的区别和联系
一、存储过程1.定义 存储过程是存储在数据库中提供所有用户程序调用的子程序,定义存储过程的关键字为procedure。2.创建存储过程 create [or replace] procedure 存储过程名 [(参数1 类型,参数2 out 类型……)] as 变量名 类型; begin 程序代码体转载 2018-03-06 19:23:39 · 151 阅读 · 0 评论 -
Leetcode之数据库刷题(二)
网站:https://leetcode-cn.com/problemset/database/1:第二高薪水 https://www.cnblogs.com/grandyang/p/5348961.html2:超过经理收入的员工 https://blog.csdn.net/ymybxx/article/details/795445143:交换工资 https://www.cnblogs.com原创 2018-03-26 14:27:52 · 239 阅读 · 0 评论 -
Leetcode之数据库刷题(一)
1:删除重复的邮箱DELETE FROM Person WHERE Id NOT IN (SELECT Id FROM (SELECT MIN(Id) Id FROM Person GROUP BY Email) p);DELETE p2 FROM Person p1 JOIN Person p2 ON p2.Email = p1.Email WHERE p2.Id > p1...原创 2018-03-26 13:58:22 · 801 阅读 · 0 评论 -
Oracle之Case的用法
CASE WHEN表达式的两种形式–简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END –Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' ENDCASE WHEN在语...原创 2018-04-08 16:29:23 · 414 阅读 · 0 评论 -
Oracle下载和安装教程
Oracle下载教程:https://jingyan.baidu.com/article/3a2f7c2e07233b26afd61189.htmlOracle安装教程:https://jingyan.baidu.com/article/363872eccfb9266e4aa16f5d.html原创 2018-04-08 15:27:59 · 8692 阅读 · 0 评论 -
Oracle行列转换
注意:在Oracle12上创建错误报错, create user C##user identified by oracle; 创建用户的时候用户名以c##或者C##开头即可 公共用户名必须用C##或c##开头,本地用户名,不能以C##,c##开头,用户和角色不能同名注意:12C和11G的用户名是不一样的,若从oracle11g导出的表到oracle12c导入会报错...转载 2018-03-21 09:52:03 · 186 阅读 · 0 评论 -
Oracle字符串和多列行转换
多行转字符串 这个比较简单,用||或concat函数可以实现select concat(id,username) str from app_userselect id||username str from app_user字符串转多列 实际上就是拆分字符串的问题,可以使用 substr、instr、regexp_substr函数方式字符串转多行 使用union all函数等方式wm_conc转载 2018-03-21 09:45:10 · 2096 阅读 · 0 评论 -
数据库对象—序列
序列是一种用于自动生成唯一数字的数据库对象,主要用于提供主键值。创建序列 查询序列 修改序列 删除序列创建序列create sequece deptno_seqstart with 50increment by 10maxvalue 70cache 3;insert into deptnew(deptno,dname,loc) values(deptno_seq.nextval,'dname原创 2018-03-09 11:47:20 · 475 阅读 · 0 评论 -
替代触发器和系统触发器
为什么使用instead of触发器? 在简单的视图上往往可以执行insert update delete操作的,但在复杂视图上是有限制的,比如有分组 集合运算符的,这时就需要建立替代触发器instead of是只适用于视图上的一种触发器,不能指定before和after选项,create or replace trigger instead_of_triggerinstead of inser原创 2018-03-09 09:07:13 · 3120 阅读 · 0 评论 -
自定义异常处理
如果你想在某个特定事件发生时向应用程序的用户发出一些警告信息,而事件本身不会抛出Oracle内部异常,这个异常是属于应用程序的特定异常,那么就需要自定义异常。用户定义的异常错误是通过显式使用raise语句来触发的,当引发一个异常错误时,控制就转向到Exception块异常错误部分,执行错误处理代码。处理步骤: 1:在PL/SQL块的声明部分定义异常情况: 异常情况 exception 2:ra原创 2018-03-08 11:16:38 · 532 阅读 · 0 评论 -
Oracle的异常处理
异常处理的概念和分类declare v_name emp.ename%Type; v_sal emp.sal%Type;begin select ename,sal into v_name,v_sal from emp where empno=&no; if v_sal<3000 then DBMS_OUTPUT.put_line(v_nam原创 2018-03-08 10:03:27 · 319 阅读 · 0 评论 -
包的创建
create or replace package emp_sal_pkgas function get_sal(eno number)return number; procedure upd_sal(eno number,salary number);end emp_sal_pkg;create or repalce body emp_sal_pkgas funct...原创 2018-03-07 23:36:57 · 329 阅读 · 0 评论 -
Oracle的包实例
调用declare v_empno emp.empno%type:=&empno; v_ename emp.ename%type:=&name; v_sal emp.sal%type:=&salary; v_deptno emp.deptno%type:=&deptno; e_dup_val EXCEPTION; e_no_dept EXCEPTION; pragma ex原创 2018-03-07 21:27:55 · 517 阅读 · 0 评论 -
Oracle的包
包是一组相关过程、函数、变量、常量和游标等PL/SQL程序设计元素的组合,包类似于Java中的类。包中的程序元素分为两种: 公用元素(公用组件) 私用元素(私有组件)包分为两部分:包规范和包体创建包规范create or replace package first_packageas v_no emp:deptno%type:=10; procedure query_emp(v-d原创 2018-03-07 14:25:04 · 159 阅读 · 0 评论 -
数据的导入导出操作
数据导入导出的两种方式第一种是导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率很不错,用得最为广泛第二种是导出为.sql文件,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出数据的导出1:将数据库orcl完全导出 exp system/oracle@orcl file=c:\oracle_bak\orcl_bak.dmp full=y2:将数原创 2018-03-06 21:55:21 · 970 阅读 · 0 评论 -
存储过程的调用与删除
方法一: oracle使用了EXECUTE语句来实现对存储过程的调用 exec proceure_name(parameter1,parameter2…)方法二: 在PLSQL代码中直接调用,如:begin procedure_name(parameter1,parameter2...)end调用无参数的存储过程(直接引用过程名即可)exec first_procbegin fi原创 2018-03-06 20:06:24 · 2862 阅读 · 0 评论 -
存储过程和存储函数
存储过程和存储函数区别:一个是类似于java中的void类型,另一个是带有返回值的方法,是否用return返回值例:用存储过程或函数实现输出 hello world创建存储过程create or replace procedure first_procasbegin DBMS_OUTPUT.PUT_LINE('我是过程'); DBMS_OUTPUT.PUT_LINE('Hello原创 2018-03-06 19:37:13 · 247 阅读 · 0 评论 -
Oracle关于IF-THEN-ELSE的其他实现
1:decode函数select decode(sex, 'M', 'Male', 'F', 'Female', 'Unknown')from employees;2:在where中特殊实现SELECT T2.*, T1.* FROM T1, T2 WHERE (T2.COMPARE_TYPE = 'A' AND T1.SOME_TYPE LIKE 'NOTHING%')原创 2018-04-08 21:06:54 · 1890 阅读 · 0 评论