<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mulingyun_214323的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mulingyun_214323</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mulingyun_214323]]></copyright><item><title><![CDATA[关于oracle函数listagg的使用说明]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/8813408</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/8813408</guid><author>mulingyun_214323</author><pubDate>Wed, 17 Apr 2013 13:03:32 +0800</pubDate><description><![CDATA[工作中经常遇到客户提出这样的需求，希望在汇总合并中，能够把日期逐个枚举出来。
如图，原始数据是这样的：

客户希望能够实现这样的汇总合并：

 
那么通常我会使用listagg这个函数，但是好多网上都是系统的全面的介绍listagg这个函数的使用方法，看起来很费力气。在这里我简明扼要的说明一下
 
实现这个需求的语句是这样的：
select name,
listagg(ddat]]></description><category></category></item><item><title><![CDATA[2012年1月12日 星期四（oracle读书笔记，oracle体系架构之数据字典）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7202943</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7202943</guid><author>mulingyun_214323</author><pubDate>Sun, 15 Jan 2012 19:07:25 +0800</pubDate><description><![CDATA[1.       数据字典保存的信息有：各种方案对象的定义信息
存储空间的分配信息
安全信息，如账户、角色、权限、完整性信息
例程运行时的新能和统计信息
其他数据库本身的基本信息
2.       数据字典的用途：
通过查询数据字典获得有关用户、方案对象、对象的定义信息
在每次执行DDL语句修改方案对象和对象后，oracle都在数据字典里记录下所做的修改
用户可以从数据字典的制度视]]></description><category></category></item><item><title><![CDATA[2012年1月11日 星期三（oracle读书笔记，oracle体系架构之软件结构）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7202929</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7202929</guid><author>mulingyun_214323</author><pubDate>Sun, 15 Jan 2012 19:01:34 +0800</pubDate><description><![CDATA[1.       Oracle数据库服务器主要由两部分组成：物理数据库和数据库管理系统。物理数据库是保存数据库的物理存储部分。数据库管理系统是用户与物理数据库之间的一个中间层，是软件层。
2.       软件结构，oracle软件结构又被称为实例结构。在启动数据库时，oracle首先要在内存中获取、划分、保留各种用途的区域（表现一定的结构），运行各种用途的后台进程，即创建一个例程（instan]]></description><category></category></item><item><title><![CDATA[2012年1月10日 星期二（oracle读书笔记，体系架构和存储结构）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7202920</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7202920</guid><author>mulingyun_214323</author><pubDate>Sun, 15 Jan 2012 18:51:07 +0800</pubDate><description><![CDATA[1.       Oracle数据库工作原理：包括数据库系统处理过程和体系结构两个方面
2.       数据库系统处理过程的步骤为：
1)       用户在其计算机上运行oracle应用程序，也就是启动用户进程
2)       在客户机和服务器之间建立连接
3)       服务器上为客户建立会话（session），并为该会话创建一个pga区，以存储与该会话相关的信息。
4)]]></description><category></category></item><item><title><![CDATA[2012年1月9日 星期一（oracle读书笔记，PL/SQL程序触发器的使用）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7197774</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7197774</guid><author>mulingyun_214323</author><pubDate>Fri, 13 Jan 2012 09:08:58 +0800</pubDate><description><![CDATA[1.       触发器作为特殊的过程与普通过程的差异在于普通过程需要用户显式的调用才能执行，而触发器则是当某些事件发生的时候，oracle会自动执行触发器过程。
2.       引起触发器的事件包括DML语句、DDL语句、数据库系统事件、用户事件。触发条件是由when子句指定一个逻辑表达式。只有当该表达式的值为true时，遇到触发事件才会执行触发器。
3.       需要注意的是：触发器]]></description><category></category></item><item><title><![CDATA[在酒店，一根网线保证两台笔记本电脑都能上网（没有路由哦）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7197705</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7197705</guid><author>mulingyun_214323</author><pubDate>Fri, 13 Jan 2012 04:44:14 +0800</pubDate><description><![CDATA[首先说跟同事一块儿出差，如果住宾馆的话，基本都不会带路由器，很尴尬的就是只能一个人上网，现在不一样，我的这套武功秘籍解决了在宾馆一根网线两台笔记本不能同时上网的问题。呀嘿嘿，请继续往下看，很嗨皮的哦！
       当然得保证两台笔记本都有无线网卡，否则打死楼主，楼主也弄不了你那破本儿。呵呵，o(∩_∩)o 
       为了方便说明两台笔记本，一台命名为A本儿，一台命名为B本儿，并且将A本]]></description><category></category></item><item><title><![CDATA[2012年1月8日 星期日（oracle读书笔记，PL/SQL程序包的使用）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7196910</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7196910</guid><author>mulingyun_214323</author><pubDate>Thu, 12 Jan 2012 17:53:19 +0800</pubDate><description><![CDATA[1.       程序包（package）用于将逻辑相同的PL/SQL块或元素（变量、常量、自定义数据类型、过程、函数、游标）组织在一起，作为一个完整的单元被存储在数据库中，以名称来标识。它具有面向对象的程序设计语言的特点，是对PL/SQL块和元素的封装。程序包类似java语言中类，其中变量类似java类中的成员变量，过程和函数类似java类中方法。
2.       程序包包括两个部分，一个是]]></description><category></category></item><item><title><![CDATA[2012年1月7日 星期六（oracle读书笔记，PL/SQL程序游标的使用方法）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7195233</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7195233</guid><author>mulingyun_214323</author><pubDate>Thu, 12 Jan 2012 08:19:17 +0800</pubDate><description><![CDATA[1.       在PL/SQL程序中执行select、insert、update、delete语句的时候，oracle会在内存中为其分配上下文区（context area）。游标是指向该区的一个指针，或是命名一个工作区（work area），或是一种结构化数据类型。它为应用程序提供了一种对具有多行数据的查询结果集中每行进行单独处理的方法，是设计交互式程序的常用编程接口。
2.       游标]]></description><category></category></item><item><title><![CDATA[2012年1月6日 星期五（oracle读书笔记，PL/SQL程序过程与函数）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7192344</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7192344</guid><author>mulingyun_214323</author><pubDate>Tue, 10 Jan 2012 23:14:26 +0800</pubDate><description><![CDATA[1.       匿名块的缺点是，在每次执行的时候都要被重新编译，并且不能被存储在数据库中。过程和函数是命名块，可以存储在数据库中，并且可以被其他块进行调用。
2.       过程的定义格式：（懒的写了）
 
3.       在不同环境中，对过程的调用方式是不一样的，形参和实参的传递关系有如下几种方法：
按位置传递：严格按照形参的顺序依次安排实参
按名称传递：需要是使用关联符号=>，]]></description><category></category></item><item><title><![CDATA[2012年1月5日 星期四 （oracle读书笔记，PL/SQL异常错误处理）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7192254</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7192254</guid><author>mulingyun_214323</author><pubDate>Tue, 10 Jan 2012 22:28:18 +0800</pubDate><description><![CDATA[1.       Oracle异常处理包括预定义异常错误、非预定义异常错误、自定义异常错误。
2.       编译时刻错误是由于用户输入、能力方面的原因而造成的程序语法方面的错误。这些错误在编译时会被发现，并且可以通过查询数据字典user_errors，all_errors，dba_errors来读取错误信息。
Select  *  from user_errors;
3.       运]]></description><category></category></item><item><title><![CDATA[2012年1月4日 星期三(oracle读书笔记，PL/sql流程控制语句)]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7183165</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7183165</guid><author>mulingyun_214323</author><pubDate>Sat, 07 Jan 2012 11:05:06 +0800</pubDate><description><![CDATA[1.       PL/SQL流程控制语句之条件控制
If 条件表达式 then
           语句段
End if;
 
If  条件表达式  then
           语句段1
Else  
           语句段2（可嵌套if……then语句）
End if;
 
If  条件表达式1  then
           语句段1
Elseif]]></description><category></category></item><item><title><![CDATA[2012年1月3日 星期二（oracle读书笔记，PL/SQL语言概述、块结构、数据类型）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7179929</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7179929</guid><author>mulingyun_214323</author><pubDate>Fri, 06 Jan 2012 02:12:34 +0800</pubDate><description><![CDATA[1.       编写PL/SQL程序代码之前必须确认的事情是：
授予用户create procedure权限，使其可以在模式中创建PL/SQL程序
在可能编写的PL/SQL程序的任意模式中的数据库对象上，直接授予select、update、delete、insert权限。
如果要创建数据库级的触发器，必须具有admininstr database trigger的权限。
确认system]]></description><category></category></item><item><title><![CDATA[2012年1月2日星期一（oracle读书笔记，sql语言常用函数）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7171862</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7171862</guid><author>mulingyun_214323</author><pubDate>Mon, 02 Jan 2012 20:34:50 +0800</pubDate><description><![CDATA[1.       日期时间函数的输入是date和timestamp型函数。除了month_between返回的是数字值之外，其他函数返回的都是日期型函数。
2.       Oracle默认的日期格式是dd-mon-yy。但是可以在每个会话中使用下面的命令来更换这个格式。
Alter Session set nls_date_format = ‘dd-mon-yyyy hh24:mi:ss’]]></description><category></category></item><item><title><![CDATA[2012年1月1日 星期日（oracle读书笔记）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170028</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170028</guid><author>mulingyun_214323</author><pubDate>Sun, 01 Jan 2012 11:05:20 +0800</pubDate><description><![CDATA[1.       在使用DML语句后，必须使用commit语句进行事务的提交。但是在执行DDL语句、DCL语句（grant、revoke）后，事务会自动提交。
提交事务的命令commit
2.       设置保留点命令savepoint spname
这些保留点命令可以将一个大的事务划分为几个短小的部分，这样就可以在事务执行的时候，回退到相应的保留点，而不用回退全部事务。
回退全部事务命]]></description><category></category></item><item><title><![CDATA[2011年12月31日 星期六（oracle读书笔记）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170026</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170026</guid><author>mulingyun_214323</author><pubDate>Sun, 01 Jan 2012 11:03:06 +0800</pubDate><description><![CDATA[1.       相关子查询是指引用了父查询中某些表和某些列的子查询（父查询不能引用子查询中的某些表和某些列），父查询可以是select、update、delete子句。

子查询对父查询中查询到的每一行都做了一次求值处理。

在exists子句中，处理的顺序是首先对父查询的每一条进行处理，查看在子表中是否有相同的deptno，如果有这个deptno，然后在子查询的表中根据这个deptno]]></description><category></category></item><item><title><![CDATA[2011年12月30日 星期五（oracle读书笔记）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170023</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170023</guid><author>mulingyun_214323</author><pubDate>Sun, 01 Jan 2012 11:02:10 +0800</pubDate><description><![CDATA[1.       SQL语言支持数据库的三级模式结构，其中外模式对应视图和部分基本表，模式对应于基本表，内模式对应于存储文件。
一个关系模式对应于一个基本表。
一个存储文件对应于一个存储磁盘上的物理文件。
一个或多个基本表对应一个存储文件。
一个基本表可以包括多个索引，索引也是存储的存储文件中。
一个视图是由一个或者多个表进行加工制作的。
一个数据库是多个关系模式的集合，所以它也是基本]]></description><category></category></item><item><title><![CDATA[2011年12月26日 星期一（oracle读书笔记）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170016</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170016</guid><author>mulingyun_214323</author><pubDate>Sun, 01 Jan 2012 11:01:28 +0800</pubDate><description><![CDATA[1.         SQL*PLUS有一组环境变量，被用来控制SQL*Plus显示数据，分配特殊字符以及显示运行方式。例如显示行设置宽度、显示每页行数等等。
2.         Show命令显示当前sql*plus的环境变量的值，set命令用来修改环境变量的值。例如：show  user;show  linesize  pagesize;set  linesize  100  pagesiz]]></description><category></category></item><item><title><![CDATA[2011年12月24日 星期六（oracle读书笔记）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170014</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170014</guid><author>mulingyun_214323</author><pubDate>Sun, 01 Jan 2012 10:55:19 +0800</pubDate><description><![CDATA[1.       函数row_num()over(partition by column1 order by column2 desc)首先根据column1进行分组，在每个column1分组内部再根据column2进行排序，然后为column1分组内的每一行都都添加一个行号。
注：用于多个指标，多个日期数据的时候，取每一指标下，不同日期的最接近系统日期的那一条记录。]]></description><category></category></item><item><title><![CDATA[2011年12月23日 星期五（oracle读书笔记）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170012</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170012</guid><author>mulingyun_214323</author><pubDate>Sun, 01 Jan 2012 10:54:05 +0800</pubDate><description><![CDATA[1.       存储过程是一组sql语句的一个集合，当过程被执行的时候，这一套sql语句会被一次执行。
2.       存储过程的创建：
Create or replace procedure procedurename is
begin 
insert into student(xh,name,sex)  values (‘001’,’koko’,’男’);
end;
创建过程的]]></description><category></category></item><item><title><![CDATA[2011年12月22日 星期四（oracle读书笔记）]]></title><link>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170011</link><guid>https://blog.youkuaiyun.com/mulingyun_214323/article/details/7170011</guid><author>mulingyun_214323</author><pubDate>Sun, 01 Jan 2012 10:53:25 +0800</pubDate><description><![CDATA[1.       系统权限是指能够执行特定sql命令的权利，它用于控制用户可以执行的一个或者一组数据库操作。比如当用户具有create table的权限可以在自己的方案中建立表，当用户具有create any table的权限的时候，可以在任何方案中建表。
2.       授予系统权限一般都是由dba用户来完成的，如果用其他用户来授予系统权限，则要求该用户必须具有grant any privi]]></description><category></category></item></channel></rss>