oracle数据库11g
专栏中将放置在工作中对oracle11g使用的一些心得,以及一些基础的入门函数,对于读者可能会经常用到的函数会着重介绍。
正儿八经小骚年
详细信息
展开
-
Oracle数据库学习小结(一)
今天要跟大家来聊一聊俺在使用Oracle数据库的这段时间里面学到的一些知识。 俺最近出来工作了,来到的公司是使用的Oracle数据库,之前一直使用的是SQL的数据库,在性质上二者前者是收费的,后者是开源的;在使用上主要还是靠自己探索,下面说说俺的一些收获。在前段时间俺一直在鼓捣组长分下来的一个任务,定时同步数据的一个小程序,俺的Oracle之旅也是从这里才算是正式开始的。 近期的学原创 2016-05-09 15:56:07 · 4208 阅读 · 30 评论 -
Oracle数据库学习小结(二)
上一篇博客中已经简单的聊了一下如何创建用户,上篇博客中最后分享的代码需要在PL/SQL中运行。今天我们接着聊Oracle数据库。在使用过程中俺用到了很多语句,今天主要跟大家分享一下。原创 2016-05-13 10:00:39 · 892 阅读 · 31 评论 -
Oracle数据库学习小结(三)---大数据批量插入bulkcopy
上篇文章中说到要跟大家聊聊bulkcopy这个的用法,今天我们就来了解一下这个用法。在之前我们写程序的时候如果遇到需要往数据库中插入数据你会怎么办?可能第一反应是加个循环一条一条插入呗,如果我们的数据仅仅是几十条或者几百条完全没有问题,循环使用add对数据库的性能消耗也不是特别大,但是万一数据量特别特别大,5位数以上的数据怎么办,难道还是要循环插入吗?那样就太耗费性能了。 SqlBulkCo原创 2016-05-26 09:50:29 · 9743 阅读 · 31 评论 -
oracle修改字段精度
我们在设计数据库时难免会因为最初的需求导致数据库字段的设置不能满足实际的需求,如果我们是在新建之初表内无数据时我们可以直接重新建,但是如果有数据时就难免会遇到一些其他问题,例如我们修改数值型的精度时,如果我们是想将精度调小,可以直接实现,如果把精度调大会弹出请清空字段内容后重试的提示。有一个表名为tb,字段段名为name,数据类型nchar(20)。1、假设字段数据为空,则不管改为什么原创 2016-07-31 15:42:51 · 14801 阅读 · 16 评论 -
oracle中的函数介绍(一):nvl函数、decode函数、case when函数、sum函数
刚结束一个项目,感觉在数据库查询时逻辑判断用的特别多,用到了nvl、decode和case when,下面讲一下这几种逻辑判断方式的异同,自己整理的,可能有些地方说错,希望大家提出来: NVL(a,b)就是判断a是否是NULL,如果不是返回a的值,如果是返回b的值 通过查询获得某个字段的合计值,如果这个值为null将给出一个预设的默认值原创 2016-10-29 19:32:28 · 7878 阅读 · 35 评论 -
oracle中的计算函数decode和case when
今天要跟大家聊一聊两个函数,一个是decode()函数,另一个是case when函数,它们两个都是可以写在SQL语句中被oracle数据库识别的计算函数。1、decode()例子:它的写法如下decode('a','b','c','d'),其中a,b,c,d可以是其他函数也可以是数值,依据我们自己的情况来使用,它的含义是如果a=b,那么结果显示c,否则d。翻译成我们更通俗易懂的话就是原创 2016-07-31 16:06:53 · 2930 阅读 · 17 评论 -
oracle函数listagg()
在开始演示之前我们需要新建一张表出来:with temp as( select 'China' nation ,'Guangzhou' city from dual union all select 'China' nation ,'Shanghai' city from dual union all select 'China' nation ,原创 2016-09-30 14:01:34 · 12255 阅读 · 27 评论 -
Oracle 11g Pivot函数实现行转列
先上语法规范:SELECT ....FROM PIVOT ( aggregate-function() FOR IN (, ,..., ) ) AS WHERE .....通过一个例子说明其用法:select * from (select salary, department_id from employee) piv原创 2016-09-30 14:10:09 · 1398 阅读 · 28 评论 -
oracle中计算两个日期之间的差值
两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒,毫秒):天:ROUND(TO_NUMBER(END_DATE - START_DATE))小时:ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)分钟:ROUND(TO_NUMBER(END_DATE原创 2016-10-29 19:18:03 · 38747 阅读 · 35 评论 -
获取oracle表中所有需要的信息(字段、注释、类型等等)
有兴趣的朋友可以尝试一下~获取表字段:select * from user_tab_columns where Table_Name='用户表' order by column_name获取表注释:select * from user_tab_comments where Table_Name='用户表'order by Table_Na原创 2016-09-30 13:53:27 · 9112 阅读 · 29 评论 -
在PLSQL工具中如何调试oracle的触发器
本文仅仅是简单的介绍如何调试触发器,小编本人也是不建议程序中使用触发器的,因为触发器的使用给维护带来了很大的很大的不便,谨以此文总结一些触发器的调试。使用到的数据库为oracle数据库,使用的数据库连接工具为PL/SQL 10.0。首先,我们来看一张图片,图片将是本文的重点:接着,我们就图片中的这些序号来一一解释,调试之前我们得存在一次触发器,本文的触发器例子是当特定的表中的日期字原创 2016-10-30 22:57:17 · 28895 阅读 · 47 评论 -
初步学习触发器
触发器是许多关系数据库系统都提供的一项技术。在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。8.1 触发器类型 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是由一个事件来启动运行。即触发器是当某个事件发生时自动地隐式运行。并且,触发器不能接收参数。所以运行触发器就叫触发或原创 2016-09-27 17:08:41 · 949 阅读 · 39 评论