`
wenxin2009
  • 浏览: 315006 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle高级编程笔记

 
阅读更多

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

 

  • 大小: 98.1 KB
  • 大小: 133.7 KB
  • 大小: 77.6 KB
  • 大小: 59.6 KB
  • 大小: 16 KB
  • 大小: 17.1 KB
  • 大小: 21.4 KB
  • 大小: 16.5 KB
  • 大小: 23.5 KB
  • 大小: 24.4 KB
分享到:
评论

相关推荐

    ORACLE 高级编程笔记

    oracle的编程,由低级到高级,循序渐进!

    精通 ORACLE SQL高级编程 学习笔记

    精通Oracle SQL【第2版】ORACLE SQL高级编程【第二版】学习笔记

    Oracel SQL高级编程笔记

    本人精心整理学习的笔记,对平时的工作帮助很大

    Oracle七天速成笔记

    内容包括:数据库系统基本概念 ,工具,SQL语言,数据查询(包括链接查询和分组统计查询)、数据操作(增删改查)、PL/SQL高级编程(视图,函数,存储过程,序列,索引,触发器,游标),最后介绍了数据库的备份和...

    韩顺平oracle学习笔记

    oracle表管理 Oracle高级部分:oracle表的查询; oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程; 索引,约束和事物。 期望目标: 1 学会安装、启动、卸载oracle 2 使用sql *plus工具 3 掌握oracle...

    Oracle PL/SQL高级编程

    主要是Oracle过程,函数,触发器,游标,包学习中自己所做的一些笔记,希望能够让初学者做一些参考!

    oracle经典教程

    包含以下资源: oracle专家高级编程 红帽9.0安装教程 oracle10g教程从入门到精通 Oracle_PL-SQL入门教程(经典) Oracle经典教程 ORACLE培训(高级篇) PLSQL基础教程-必看 韩顺平老师oracle视频教程听课笔记

    达内c++笔记与代码1

    达内c++笔记与代码: 1_Unix 2_C语言 3_C++ 4_数据结构与算法 5_模板_STL 6_linux高级编程 7_Oracle_ProC

    中美 IT 培训 C# Asp.net 全套笔记1

    C# 高级编程I (40课时) 系统地讲授多线程的基本概念、线程的设计、线程的优先级等以及线程的使用;讲授共享程序集(公有程序集)、私有程序集的组成、原理和使用;学习反射(Reflection)、属性(Attribute)的...

    中美 IT 培训 C# Asp.net 笔记2

    C# 高级编程I (40课时) 系统地讲授多线程的基本概念、线程的设计、线程的优先级等以及线程的使用;讲授共享程序集(公有程序集)、私有程序集的组成、原理和使用;学习反射(Reflection)、属性(Attribute)的...

    中美 IT 培训 C# Asp.net 笔记3

    C# 高级编程I (40课时) 系统地讲授多线程的基本概念、线程的设计、线程的优先级等以及线程的使用;讲授共享程序集(公有程序集)、私有程序集的组成、原理和使用;学习反射(Reflection)、属性(Attribute)的...

    Java开发详解.zip

    031714_【第17章:Java数据库编程】_使用JDBC连接Oracle笔记.pdf 031801_【第18章:图形界面】_AWT、Swing简介笔记.pdf 031802_【第18章:图形界面】_基本容器:JFrame笔记.pdf 031803_【第18章:图形界面】_标签...

    Java/JavaEE 学习笔记

    Oracle学习笔记...............121 前言....................................121 第一章 Selecting Rows.....................124 第二章 Limiting Selected Rows.......127 第三章 Single Row Functions.............

    J2EE学习笔记(J2ee初学者必备手册)

    Oracle学习笔记...............121 前言....121 第一章 Selecting Rows.....................124 第二章 Limiting Selected Rows.......127 第三章 Single Row Functions..........127 第四章 Displaying Data from ...

    值类型与引用类型理论内容.part01.rar

    C# 高级编程II (40课时) 详细讲授DNS开发、套接字(Socket)编程、TCP、UDP 编程、消息队列(MSMQ)及其编程;详细讲授远程处理(Remoting)技术,包括基本远程处理框架,配置文件及其应用, 异步远程处理...

    值类型与引用类型理论内容.part05.rar

    C# 高级编程II (40课时) 详细讲授DNS开发、套接字(Socket)编程、TCP、UDP 编程、消息队列(MSMQ)及其编程;详细讲授远程处理(Remoting)技术,包括基本远程处理框架,配置文件及其应用, 异步远程处理...

    Orcale 数据库客户端PL/SQL 中文乱码的问题解决方法

    您可能感兴趣的文章:MySQL 客户端不输入用户名和密码直接连接数据库的2个方法oracle数据库在客户端建立dblink语法DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 .python网络编程学习笔记(九):...

    mysql面试题 包含 初级 中级 高级 各级别知识点.rar

    作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上,MySQL并不难,今天这份...

    程序员考试刷题-java8-ocp-study-notes:跟踪OCPJava8书籍学习指南的存储库

    Oracle 官方文档 其他资源 另一个准备 Java 8 程序员 II 考试的指南 OCA指南 我在阅读 OCA 学习指南后的体验是积极的,并鼓励我继续学习认证的第二部分。 它涵盖了 100% 掌握考试所需的知识,但最重要的是有助于以...

Global site tag (gtag.js) - Google Analytics