oracle开发
天蝎承载梦想
心怀梦想,不断拼搏!
展开
-
静态SQLSQL与动态SQL
1.静态SQLSQL与动态SQLOracle编译PL/SQL程序块分为两个种:其一为前期联编(earlybinding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型;另外一种是后期联编(latebinding),即SQL语句只有在运行阶段才能建立,例如当查询条件为用户输入时,那么Oracle的SQL引擎就无法在编译期对该程序语句进行确定,只能在用户输入一定的查询条...转载 2019-04-25 11:47:30 · 560 阅读 · 0 评论 -
oracle中merge的用法,以及各版本的区别 Create
Merge是一个非常有用的功能,类似于Mysql里的insert into on duplicate key.Oracle在9i引入了merge命令,通过这个merge你能够在一个SQL语句中对一个表同时执行inserts和updates操作. 当然是update还是insert是依据于你的指定的条件判断的,Merge into可以实现用B表来更新A表数据,如果A表中没有,则把B表的数转载 2016-11-16 10:36:30 · 378 阅读 · 0 评论 -
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 - START_DATE转载 2016-09-29 10:21:56 · 326 阅读 · 0 评论 -
分组函数group by和Oracle中分析函数partition by的用法以及区别
今天有个同事给我打电话问我题目列出的这个问题,在日常开发中,确实它们俩都是与分组有关的,但是需要注意的是一个是分组函数另一个是分析函数,讲解用到的表就以Oracle中schema的scott的EMP表和DEPT表为例做讲解: 老总下命令说:需要统计下公司里每个部门的人数以及每个部门的工资发放的工资总和;先分析下统计每个部门的人数和工资总和,指的是将不同部门的人员分别放到不同的地方,转载 2016-08-31 09:57:34 · 825 阅读 · 0 评论 -
Rank,Dense_rank,Row_number函数区别用法
select a.dept_id,a.salary, row_number()over (partition by a.dept_id order by a.salary) , dense_rank()over (partition by a.dept_id order by a.salary) , rank()over(partition原创 2016-08-31 09:35:02 · 624 阅读 · 0 评论 -
分析函数
OVER(PARTITION BY)函数介绍开窗函数 Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行。 开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化,举例如下:1:over后的写法:转载 2016-08-31 09:02:46 · 461 阅读 · 0 评论 -
oracle索引介绍(图文详解)
对于数据库来说,索引是一个必选项,但对于现在的各种大型数据库来说,索引可以大大提高数据库的性能,以至于它变成了数据库不可缺少的一部分。索引分类:逻辑分类single column or concatenated 对一列或多列建所引unique or nonunique 唯一的和非唯一的所引,也就是对某一列或几列的键值(key)是否是唯一的。Function-b转载 2016-07-07 18:04:53 · 471 阅读 · 0 评论 -
SQL_Oracle 表中ID字段的自动递增
目标:实现向一张表中插入数据时,ID字段自动递增。开始实验:(1)、创建实验表createtable test_ID_add(ID NUMBER(10),USERNAME VARCHAR2(32),TEL VARCHAR2(11),CREATE_DATE datedefaultsysdate); (2)、创建序列使用PL/SQL Developer创转载 2016-07-07 17:38:11 · 675 阅读 · 0 评论 -
oracle表空间表分区详解及oracle表分区查询使用方法
此文从以下几个方面来整理关于分区表的概念及操作:1.表空间及分区表的概念2.表分区的具体作用3.表分区的优缺点4.表分区的几种类型及操作方法5.对表分区的维护性操作.(1.) 表空间及分区表的概念表空间:是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。分区表: 当表中的数据量不断增大,查询数据的速度就转载 2016-07-07 17:11:21 · 6143 阅读 · 0 评论 -
oracle中常用得函数
--ASCII(char) :计算char的第一个字符的ASCII值或EBCDIC码值select ASCII('a') from dual;--CHR(n) :计算ASCⅡ码值或EBCDIC码值是n的字符;函数n依赖于计算机系统采用的字符集,n的取值为0~127或0~254之间 select CHR(65) from dual;--INITCAP(char):将char串口的原创 2016-11-17 11:36:17 · 453 阅读 · 0 评论 -
ORACLE中如何查看表空间
select /*+ordered*/c.tablespace_name,round(c.all_bytes / 1024 / 1024 / 1024, 2) 现有空间,round(c.max_bytes / 1024 / 1024 / 1024, 2) 最大空间, round(c.all_bytes / 1024 / 1024 / 1024, 2) - round(b.free_byt原创 2016-11-30 10:14:35 · 365 阅读 · 0 评论 -
oracle建表涉及信息
建表语句及加字段注释 -- CREATE TABLE 创建小程序卡片表 create table GIMDATA.GIM_CLOUD_MINIPRO...原创 2019-03-11 15:14:10 · 423 阅读 · 0 评论 -
强化--oracle提供了以下几种分区类型:
oracle提供了以下几种分区类型:范围分区(range)哈希分区(hash)列表分区(list)范围-哈希复合分区(range-hash)范围-列表复合分区(range-list)查看分区数 :select*from user_tab_partitions where table_name='表名'查看分区内容:s...转载 2019-03-11 15:13:31 · 1735 阅读 · 0 评论 -
oracle查看执行计划
执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述。即就是对一个查询任务,做出一份怎样去完成任务的详细方案。如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 看懂执行计划也就成了SQL优化的先决条件。 通过执行计划定位性能问题,定位后就通过建立索引、修改sql等解决问题。一、执行计划的查看1.1 设置autotrace...转载 2019-03-11 14:07:42 · 1212 阅读 · 0 评论 -
ORACLE分析函数
本文讲述Oracle分析函数用法,首先建库:Sql代码 createtableearnings--打工赚钱表 ( earnmonthvarchar2(6),--打工月份 areavarchar2(20),--打工地区 snovarchar2(10),--打工者编号 snamevarchar2(20),--打工者...转载 2019-03-11 10:06:16 · 239 阅读 · 0 评论 -
MYSQL复合分区
复合分区是分区表中每个分区的再次分割,子分区既可以使用HASH分区,也可以使用KEY分区。这也被称为子分区。提示 :mysql只能子分区只能使用 HASH/KEY 分区,这也是与ORACLE的区别。复合分区需要注意以下问题:如何一个分区中创建了复合分区,其他分区也要有复合分区。 如何创建了复合分区,每个分区中的复合分区数必有相同。 同一分区内的复合分区,名字不相同,不同分区内的复合...原创 2018-08-19 21:33:38 · 1911 阅读 · 0 评论 -
oracle存储过程转换为mysql存储过程实例总结
最近在接触数据库的有关知识,因为水平有限,对数据库方面的一些知识缺乏了解,这次遇见的主要是 数据库的存储过程,根据公司项目需求,将oracle的存储过程切换为mysql的存储过程,首先oracle的存储过程与mysql的存储过程差别是很大的(语法差别很大),通过好多天的网上查询资料,与同事们的交流,简单的实现了基本的转换,在这里肯定还有一些错误的地方,也欢迎各位大牛指出,让我更加深入的了解 数据库...转载 2018-06-01 16:57:23 · 2231 阅读 · 0 评论 -
总结:整理 oracle异常错误处理
5.1 异常处理概念5.1.1 预定义的异常处理5.1.2 非预定义的异常处理5.1.3 用户自定义的异常处理5.1.4 用户定义的异常处理5.2 异常错误传播5.2.1 在执行部分引发异常错误5.2.2 在声明部分引发异常错误5.3 异常错误处理编程5.4 在 PL/SQL 中使用 SQLCODE, SQLERRM异转载 2016-12-08 10:43:54 · 1532 阅读 · 0 评论 -
Oracle中Merge into用法总结
Oracle中Merge into用法总结起因: 前段时间,因为涉及到一张表的大数据操作,要同时进行增删改,我跟师傅想了很多优化办法,结果都不尽人意。刚开始用的就是原始算法,先更新现有记录,再插入满足要求的其他记录,最后再删除多余记录,但是少量数据还可以,10W条数据就不行了,前台的超时时间是60s,远远无法满足要求。之后又想办法将任务进行拆分,根据每条记录流水号尾字符不同进行拆转载 2016-12-06 12:59:06 · 747 阅读 · 0 评论 -
oracle函数和存储过程有什么区别
1. 返回值的区别,函数有1个返回值,而存储过程是通过参数返回的,可以有多个或者没有2.调用的区别,函数可以在查询语句中直接调用,而存储过程必须单独调用.函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等)参数的返回情况来看:如果返回多个参数值最好使用存储过程,如果只有一个返回值的话可以使用函数;从调用情况来看原创 2016-07-05 18:31:18 · 677 阅读 · 0 评论 -
自增长主键
一、自增长主键--首先建一个表TESTcreate table TEST ( NIDint PRIMARYKEY, test1 varchar2(20), test2 varchar2(20), test3 varchar2(20), test4 varchar2(20), test5 va转载 2016-07-05 15:26:22 · 440 阅读 · 0 评论 -
Oracle中序列详解
数据库设计的三大范式第一条就是独立的表结构中必须有唯一主键来标识表中数据.在以往微软的SQL Server(duo版本)平台上.手动编码实现表中主键.并设定为自增列是极其简单.编码如下: --简单主键定义如下并设置为自增(只取出主键定义) typeid int not null primary key identity(1,1),在Oracle中如果要设定一个独立表结构的主键转载 2016-07-05 14:50:43 · 980 阅读 · 0 评论 -
oracle中创建主键以及添加主键
--给你个例子--建表create table test(name varchar2(20));--测试数据insert into test values('name1');insert into test values('name2');insert into test values('name3');--加列alter table test add id i原创 2016-07-04 12:05:49 · 1612 阅读 · 0 评论 -
Oracle PL/SQL入门
Oracle PL/SQL入门为了解决纯SQL语句的缺陷问题,采取了PL/SQL(Procedure Language/Structured Query Language)的方式进行解决。纯SQL语句的缺陷有如下几点:1、不能模块编程;2、执行速度慢;3、安全性有问题;4、浪费带宽。 pl/sql(procedural language/sql)是oracle在转载 2016-07-04 11:39:05 · 620 阅读 · 0 评论 -
Oracle PL/SQL进阶
Oracle PL/SQL进阶控制结构在任何计算机语言(c,java,c#,c++)都有各种控制语句(条件语句,循环语句,顺序控制结构..)在pl/sql中也存在这样的控制结构。 条件分支语句pl/sql中提供了三种条件分支语句if--then if--then--else if--then--elsif--elsif--else 简单的条件判断i转载 2016-07-04 11:36:59 · 654 阅读 · 0 评论 -
Oracle PL/SQL基础知识
Oracle PL/SQL基础知识过程(存储过程)过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out)。通过在过程中使用输入参数,可以将数据传递到执行部分;通过使用输出参数,可以将执行部分的数据传递到应用环境。可以使用create procedure命令来建立过程。 调用过程有两种方法:exec 过程名(参数值,..)call转载 2016-07-04 11:35:01 · 1418 阅读 · 0 评论 -
oracle表分区详解
oracle表分区详解从以下几个方面来整理关于分区表的概念及操作:表空间及分区表的概念表分区的具体作用表分区的优缺点表分区的几种类型及操作方法对表分区的维护性操作 1.表空间及分区表的概念表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。 分区表:当表中的数据量不断增大,查询数据的速度就会变慢,应用转载 2016-07-04 11:30:31 · 622 阅读 · 0 评论 -
LINUX 命令使用技巧
--查看文件more xx.txt--解压文件gunzip xx030.gzgzip -d xx.txt--查看文件数量ls xx*20160323*|wc--查看文件名称ls xx*20160323*|more----------------------------如何访问别人共享的文件-----------------------原创 2016-05-06 16:09:39 · 629 阅读 · 1 评论 -
win7、8、10(64)操作系统安装oracle11g(64)后,在登录时,database显示为空。
解决方法:1、 安装32位的oracleclient(客户端)2、 启动plsql,配置tns路径,设置oci接口配置Tools—>preferencesàconnection--àoracle hmeTools—>preferencesàconnection--àOCI library3、 设置环境变量我的电脑---à属性---à高级系统设置--à环境变量---à系原创 2015-11-16 15:22:18 · 831 阅读 · 0 评论 -
CSS+DIV把八个层并排显示!!!
如何把层并排显示(CSS+DIV) 如何实现CSS样式之多个层DIV并排布局?对于初会CSS的朋友,这个也有点难度,不知道是如何下手去写CSS,其实,这个也容易实现,所以,我便做了一下实例,分享给大家;说明(自己做了一天!!!) 样式图片如下: 代码如下: bod原创 2015-07-18 15:53:15 · 902 阅读 · 0 评论 -
Oracle建立表空间和用户
Oracle建立表空间和用户 [sql] view plain copy 建立表空间和用户的步骤: 用户 建立:create user 用户名 identified by "密码"; 授权:grant create session to 用户名; grant create table to 用户转载 2016-07-04 12:10:18 · 300 阅读 · 0 评论 -
DML、DDL、DCL区别 .
DML、DDL、DCL区别 . 总体解释: DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,D原创 2016-07-04 18:19:24 · 442 阅读 · 0 评论 -
oracle存储过程实例
认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的。和PL/SQL程序相比,存储过程有很多优点,具体归纳如下:* 存储过程和函数以命名的数据库对象形式存储于数据库当中。存储在数据库中的优点是很明显的,因为代码不保存在本转载 2016-07-05 12:19:27 · 14679 阅读 · 0 评论 -
Oracle存储过程基本语法与基础教程(简明清楚且附实例)
存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;行2:转载 2016-07-05 12:16:02 · 12337 阅读 · 0 评论 -
oracle存储过程基础语法+提升+例子总结
1.oracle存储过程的基本语法1.基本结构CREATE OR REPLACE PROCEDURE 存储过程名字(参数1 IN NUMBER,参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字2.SELECT INTO STATEMENT将select查询的结果存入到变量中,可转载 2016-07-05 12:09:07 · 13700 阅读 · 0 评论 -
oracle中游标详细用法 (二)
游标的概念: 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率。游标有两种类型:显式游标和隐式游标。在前述程序中用到的SELECT...INTO...查询转载 2016-07-05 11:51:56 · 2161 阅读 · 0 评论 -
oracle中的游标的原理和使用详解
游标 游标的简介: 逐行处理查询结果,以编程的方式访问数据游标的类型:1,隐式游标:在 PL/SQL 程序中执行DML SQL 语句时自动创建隐式游标,名字固定叫sql。2,显式游标:显式游标用于处理返回多行的查询。3,REF 游标:REF 游标用于处理运行时才能确定的动态 SQL 查询的结果隐式游标:q在PL/SQL中使用DML语句时自动创建隐式游转载 2016-07-05 11:35:00 · 667 阅读 · 0 评论 -
oracle:IF语句 Loop循环 Cursor的用法(一)
1 概述在大多数时候我们在设计pl-sql程序的时候都遵循下面的步骤: 打开游标 ->开始循环 -> 从游标中取值->检查那一行被返回 -> 处理 -> 关闭循环 -> 关闭游标2 格式:复制内容到剪贴板/ 程序代码 CURSOR IS%ROWTYPE;BEGIN OPEN LOOP FETCH INTO ; EXIT WHEN %N转载 2016-07-05 11:18:56 · 7709 阅读 · 0 评论 -
Oracle 动态SQL语句
EXECUTE IMMEDIATE代替了以前Oracle8i中DBMS_SQLpackage包. 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTEIMMEDIATE原创 2016-07-04 12:18:10 · 6258 阅读 · 0 评论 -
Oracle中几个需要用动态语句执行的情况
Oracle中几个需要用动态语句执行的情况 1.一般的在存储过程或函数中 要执行一个SQL数据定义语句(例如:create table ..,alter table ,drop table); 或执行一个数据控制語句(例如:grant...); 或一个会话控制(例如:alter session); 时要使用动转载 2016-07-04 18:20:44 · 1109 阅读 · 0 评论