Oracle 高级查询、事物、过程及函数
一、Sql函数
1、数值函数(输入参数和返回值都是数值型,多数函数精确到38位)
--多少次方
select power(,) from dual;
--开方
select sqrt() from dual;
--绝对值
select ABS(-) from dual;
--向上取值
select ceil(5.3)from dual;
--向下取值
select floor (5.3)from dual;
--四舍五入
select round (1.235,) from dual;
--截取
select trunc (152.3365) from dual;
--判断正负
select sign (-) from dual;
2、字符函数(输入参数是字符型,返回值是数值型和字符型)
lower(char) 将字符串转换为小写格式
upper(char) 将字符串转换为大写格式
length(char)返回字符串的长度
ltrim(char [,set]) 去掉set左端的字符串
--截取字符
select substr('hehe',,) from dual;
--合并
select concat('h','e') from dual;
--查找位置
select instr('he','h') from dual;
--替换
select replace('he','e','h') from dual;
--去空格
select ltrim('this','th') from dual
3、转换函数(将数值从一种数据类型装换为另一种数据类型)
--to_number()转换为数字
select to_number('2000.02','999999D99') from dual;
--to_char()将日期型转变为字符串
select to_char(sysdate,'yyyy-mm-dd') from dual;
--to_date()转换为date类型
select to_date('2013-04-05','yyyy-mm-dd') from dual;
nvl(expr1,expr2) 将null转换为实际值
nvl2(expr1,expr2,expr3) 如果expr1不为null 这返回expr2,否则返回expr3
二、查询
1、多表查询
union :返回不重复行(补)
union all:返回所有行,包括重复行(并)
intersect :两个查询都检索到的行(交)
minus:返回第一个查询检索到的行减去第二个查询检索到的行所剩余的行(差)
2、连接查询
--内连接
select dept.deptno,dname,enamefrom scott.dept,scott.emp where dept.deptno=emp.deptno;
--自连接
select manager.ename from scott.emp manager,scott.emp worker where manager.empno=work.mgr and worker.ename='SMITH';
三、事物处理
commit:提交事务
update scptt.emp set sal= where ename='MARY';
commit;
select sal from scott.emp where ename='MARY';
rollback:回滚事务
update scptt.emp set sal= where ename='MARY';
rollback;
select sal from scott.emp where ename='MARY';
savepoint a:设置保存点 整个事务部回滚
rollack to a :取消部分事务
rollack :取消全部事务
1、事物的属性
原子性(A)、一致性(C)、隔离性(I)、持久性(D)
四、过程和函数
1、存储过程(procedure)
create or replace procedure proc_name(v_empno number)
as
--内部变量
v_name varchar2();
begin
select scott.emp.ename into v_name from scott.emp where empno=v_empno;
dbms_output.put_line('员工信息'|| v_name);
end;
--调用存储过程
begin
proc_name();
end;
--删除存储过程
drop procedure proc_name
2、函数
--函数
create or replace function func_name
return varchar2
as
begin
return 'xxxx';
end;
--调用函数
select func_name() from dual;
--删除函数
drop function func_name
Oracle 高级查询、事物、过程及函数的更多相关文章
- Oracle高级查询,事物,过程及函数
一 数值函数 数值 abs,ceil,floor,round,trunc字符串 instr,substr SQL>SELECT 'ABS':'|| ABS(-12.3) FROM DUAL; 运 ...
- oracle高级查询(实例基于scott用户四张表)
oracle高级查询(实例基于scott用户四张表) 分组查询 多表查询 子查询 综合实例 ====================================================== ...
- Oracle高级查询、事物、过程及函数
一.SQL函数 1.分类:单行函数(日期.数值.转换.字符等),多行函数,也称为分组函数(max.min.avg.sum.row_number.rank等). 2.数值函数 abs(n):求数字n的绝 ...
- oracle中的创建过程,函数,包
一.创建存储过程 存储过程是在oracle中存取完成特定业务逻辑的代码块.存储过程是命名块,匿名块不存在数据库中,命名块会存储到数据库中,匿名块每次运行都需要提前编译,命名块一次存储,只会编译一次.命 ...
- Oracle学习笔记(2)——过程和函数
过程和函数统称为PL/SQL子程序,通过输入.输出参数或输入/输出参数与其调用者交换信息.他们是被命名的PL/SQL块,被编译后存储在数据库中,以备执行.因此,可以在数据库中直接按名称使用它们. 1. ...
- Oracle高级查询之OVER
注释:为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的 oracel的高级用法:rank()/dense_rank() over(partition by ...orde ...
- Oracle高级查询之CONNECT BY
为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. Oracle中的select语句可以用start with ... connect by prior ...子句实现递 ...
- Oracle 高级查询
Oracle SQL 一些函数用法 以下sql环境都是在 Oracle 11g/scott完成 Group by 与GROUP BY一起使用的关建字 GROUPING,GROUP SET,ROLLUP ...
- Oracle高级查询,over 用法
注:标题中的红色order by是说明在使用该方法的时候必须要带上order by. 一.rank()/dense_rank() over(partition by ...order by ...) ...
随机推荐
- codeforces 438D
在大大推荐下这个标题不明的人做.而我的最后一个非常喜欢的段树,因此,愤怒出手.认为基本上相同.大值,当最大值小于取模时能够剪枝. 今后再遇到此类问题算是能攻克了 // file name: d.cpp ...
- csdn 博客,你很努力,有人帮你-2015年03一个月17日本
今天泛化 开始使用简书 正则表达式的博客写了两篇文章 回顾 Core Data 基本使用 总结 Xcode6新特性 简单聊聊 简书,事实上一開始学 MarkDown 语法的时候,已经用了,但是,一直认 ...
- .net EF 事物 订单流水号的生成 (二):观察者模式、事物、EF
针对.net EF 事物 订单流水号的生成 (一) 的封装. 数据依然不变. using System; using System.Linq; using System.Transactions; ...
- 导出DBF,并且提供下载 .
原文:导出DBF,并且提供下载 . 导出DBF,并且提供下载 #region Declare string mFilePath = MapPath("../DataTmp/"); ...
- <C++ 实现设计模式> 观察者模式
观察者模式,又称公布--订阅,mvc模式等. 通俗点讲,比方股票来说,非常多人关注一支股票,派一个人去观察股票的情况,一有变化(观察),就通知全部的预定这个消息的人. 而我们常见的mvc模式,v是指v ...
- MVC 6 写法
MVC 6 一些不晓得的写法 今天在看 Scott Guthrie 的一篇博文<Introducing ASP.NET 5>,在 MVC 6 中,发现有些之前不晓得的写法,这边简单记录下, ...
- java设计模式之五原型模式(Prototype)
原型模式虽然是创建型的模式,但是与工程模式没有关系,从名字即可看出,该模式的思想就是将一个对象作为原型,对其进行复制.克隆,产生一个和原对象类似的新对象.本小结会通过对象的复制,进行讲解.在Java中 ...
- web设计师和前端设计师的互动—前端工程师应该具备的三种思维
如果你是一个天才工程师(马上可以离开),可以独立完成一个很多事情,你可以是一个怪咖,因为我相信没有一个人不会不佩服你.但现实归现实,多数人都不是天才,而我们在职场上也不是单打独斗,我们需要团队合作,需 ...
- 探讨css中repaint和reflow
(个人blog迁移文章.) 前言: 页面设计中,不可避免的需要浏览器进行repaint和reflow.那到底什么是repaint和reflow呢.下面谈谈自己对repaint和reflow的理解,以及 ...
- POJ 1028 Web Navigation 题解
考查代码能力的题目.也能够说是算法水题,呵呵. 推荐新手练习代码能力. 要添加难度就使用纯C实现一下stack,那么就有点难度了,能够使用数组模拟环形栈.做多了,我就直接使用STL了. #includ ...