Oracle学习笔记
学习网站:http://school.itzcn.com/special-spid-35.html
1、更新语句:
update test set(max_price,proxy_price)=(select max_price,proxy_price from test where id=35668) where id=35674; commit;
2、MERGE语句:可以方便地把多个操作结合成一个,可避免使用多个insert,update以及delete语句。
eg.
create table person1( pid number(4), page number(3) ); insert into person1 values(1,20); insert into person1 values(2,21); insert into person1 values(3,22); commit; create table person2( pid number(4), page number(3) ); insert into person2 values(1,100); insert into person2 values(4,100); insert into person2 values(5,100); select * from person1; select * from person2; merge into person1 p1 using person2 p2 on(p1.pid=p2.pid) when matched then update set p1.page=p2.page when not matched then insert(pid,page) values(p2.pid,p2.page); --结果 3 行已合并。
3、
4、大对象
》LONG,LONG RAW数据类型:
LONG数据类型可以存储2GB以下的字符数据
LONG RAW数据类型可以存储2GB以下的二进制数据
RAW数据类型可以存储4KB的二进制数据。
》大对象四种类型:
CLOB 字符LOB类型,用于存储字符数据
NCLOB 国家语言字符集LOB类型,用于存储多字节字符数据,一般用于非英文字符
BLOB 二进制LOB类型,用于存储二进制数据
BFILE 二进制FILE类型,用于存储文件指针。
》LOB类型与较早类型相比优点:
1》LOB列最大可以存储128TB的数据,远远超过LONG和LONG RAW列存储的数据量2GB。
2》一个表可以有多个LOB列,但是一个表只能有一个LONG或LONG RAW 列。
3》LOG数据可以随机访问,LONG和LONG RAW数据只可以顺序访问。
CLOB:
create table clob_table( id number primary key, clob_column clob not null ); --使用to_clob() insert into clob_table(id,clob_column) values(1,to_clob('这里是clob类型数据')); select * from clob_table;
BLOB:
Bcreate table blob_table( id number primary key, blob_column blob not null ); --to_blob() insert into blob_table(id,blob_column) values(1,to_blob('101010111110')); commit; select * from blob_table;
BFILE:
操作大对象APPEND()方法添加字符串,如,src_clob添加到dest_clob后面:
大对象COMPARE()比较,如果两个LOB相同则返回0;如果不相同则返回1或-1;如果参数值设置有误或不合理则返回空值。
大对象REASE(lob,amount,offset)方法用于删除一个LOB中的数据,删除方式是从指定的偏移量开始,删除指定数量的字符或字节。
大对象FILEGETNAME(bfile,directory,filename)方法用于获取BFILE所指向的外部文件的目录和文件名。
大对象LOADCLOBFROMFILE()方法,用于将BFILE所指向的外部文件中的数据加载到CLOB/NCLOB中。加载方式是从指定的偏移量开始,加载指定数量的字节。
5、HAVING子句通常与GROUP BY子句一起使用,在完成对分组结果的统计后,可以使用HAVING子句对分组的结果进行进一步的筛选。一个HAVING子句最多可以包含40个表达式。
6、USING使用,如果在连接查询时使用了两个表中相同的多个列,那么就可以在USING子句中指定多个列名,形式如下:
select ... from table1 inner join table2
using(column1,column2);
上述语句相当于下面的语句:
select ... from table1 inner join table2
on table1.column1=table2.column2
and table1.column2=table2.column2;
7、Oracle分页sql示例:
SELECT * FROM (SELECT t2.*, rownum rowno FROM (SELECT t1.* FROM (SELECT D.ID, D.USER_ID, D.USER_NAME, D.CREATED_AT, D.REMARKS FROM USER_TEST D WHERE 1 =1 AND D.STATUS = '2' ORDER BY D.CREATED_AT DESC ) t1 ) t2 WHERE rownum <=25 ) table_alias WHERE table_alias.rowno >0;
MySQL分页SQL示例:
select * from table LIMIT 5,10;//返回6-15行
SqlServer分页SQL示例:
select TOP 10 * from test order by id asc;
8、Oracle分组后,取每组第一条数据。
row_number() over(partition by X)
--导出所有psam冻结的数据,只取第一条。(分组后取每组第一条数据) select * from (select t.*,pb.*,row_number() over(partition by t.psamId order by t.psamId desc, t.blockingDate desc,t.blockingTime desc ) cn from PayTerminalBlockingTest t join PayTerminalTest p on(t.psamId=p.psamId) join PayBranchTest pb on(p.branchId=pb.branchId) where t.blockingFlag='1') where cn = 1
相关推荐
从给定的Oracle高级编程笔记中,我们可以提炼出多个关键的知识点,这些知识点涵盖了Oracle数据库管理、用户权限、SQL操作以及脚本控制等核心领域。下面将详细展开这些知识点: ### Oracle用户管理与权限 #### 创建...
精通Oracle SQL【第2版】ORACLE SQL高级编程【第二版】学习笔记
### Oracle PL/SQL编程核心知识点解析 #### 一、创建基本表与操作 在Oracle数据库中,使用PL/SQL进行数据库编程前,首先需掌握如何创建表与进行基本的CRUD(创建、读取、更新、删除)操作。示例中的`CREATE TABLE`...
Oracle SQL高级编程笔记是针对数据库管理员、开发人员和数据分析师的重要参考资料,涵盖了SQL在Oracle数据库系统中的高级应用。这些笔记详尽地阐述了如何利用Oracle SQL进行高效的数据查询、操作和管理,旨在提升...
其次,笔记可能会深入到Oracle的高级特性,比如PL/SQL编程,这是一种专为Oracle设计的过程化编程语言,用于创建存储过程、函数、触发器等。此外,可能还会涵盖数据库事务处理、并发控制和锁机制,这些都是保证数据...
### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...
以下是对Oracle数据库课堂笔记的详细解析,涵盖了从基础到进阶的重要知识点。 第一讲:Oracle简介 Oracle数据库是由甲骨文公司开发的,提供了一整套数据存储、管理和检索解决方案。它支持多种操作系统和硬件平台,...
单实例数据库是默认的安装类型,而RAC(Real Application Clusters)是Oracle高级数据库管理的特性之一。安装过程中可以选择数据库的语言,Oracle提供简体中文和英语两种界面语言。安装路径可以根据个人喜好设置,但...
这篇笔记主要涵盖了Oracle SQL的基础知识、高级特性和实际应用技巧。 一、基础SQL语法 Oracle SQL遵循标准的SQL语法,包括SELECT、INSERT、UPDATE、DELETE四大语句。用于查询数据的基本结构是SELECT字段列表FROM...
存储过程的概念类似于高级编程语言中的模块,通过参数传递来实现数据的交互,体现了模块化设计的思想。本文将深入探讨Oracle存储过程的特点、语法结构、创建实例以及参数的使用。 首先,存储过程有以下几个显著特点...
以下是从标题、描述和部分内容中提取的Oracle高级操作函数的知识点。 ### 分支判断函数 #### DECODE函数 DECODE函数是Oracle中的一个条件分支函数,它的功能类似于编程语言中的if-else if-else语句。DECODE函数的...
本"Oracle超强学习笔记"将带你深入探索Oracle的世界,掌握从基础到高级的各种技术,助你在数据库管理领域提升专业技能。 1. **Oracle简介** Oracle数据库是由美国甲骨文公司开发的关系数据库系统,其核心组件包括...
对于高级特性,笔记可能涉及物化视图、物质化的子查询、流复制、数据库链接,以及Oracle的高可用性解决方案,如RAC(Real Application Clusters)和Data Guard。 Oracle 10g作为特定的版本,笔记可能特别强调了该...
此外,笔记还可能涉及PL/SQL,Oracle的编程语言,用于编写存储过程、函数和事务控制。通过学习PL/SQL,开发者可以实现复杂的业务逻辑,提高数据库的效率和安全性。 在数据库管理方面,笔记可能涵盖实例和数据库的...
这份笔记涵盖了从Oracle PL/SQL编程到SQL查询语言的广泛主题,旨在帮助读者深入理解Oracle数据库的运作机制和应用技巧。 首先,我们来看看《Oracle PL-SQL入门教程(经典).doc》。这份文档详细介绍了PL/SQL,Oracle...
在《XML高级编程》这本书中,作者深入探讨了XML及其相关技术的高级用法。 1. XML 语法 XML语法严格遵循一套预定义的规则。每份XML文档必须有一个根元素,所有的其他元素都包含在其中。元素标签是成对出现的,如`...
但我可以根据标题“涂抹Oracle 三思笔记之一步一步学Oracle”和给定的相关知识点要求,构造一篇关于Oracle数据库学习的基础知识点文章,以满足您的需求。 Oracle数据库是全球范围内广泛使用的企业级关系数据库管理...
Oracle教程笔记涵盖了数据库管理系统Oracle的核心概念、安装配置、SQL语言基础、PL/SQL编程以及数据库管理等多个方面。这篇笔记旨在帮助初学者系统地理解和掌握Oracle技术。 首先,Oracle是全球最大的企业级数据库...
Oracle数据库是一种广泛使用的大型关系型...Oracle数据库的学习笔记不仅能帮助初学者快速入门,而且对于中高级用户同样具备参考价值,特别是在学习和记忆数据库的众多命令和语法时,好的笔记可以显著提高学习效率。
Oracle是世界上最广泛使用的商业关系型数据库管理系统之一,...通过达内的Oracle笔记和PPT课件,学员可以系统地学习Oracle数据库的各个方面,从基础知识到高级应用,为成为专业的数据库管理员或开发人员奠定坚实基础。