
Oracle数据库
文章平均质量分 69
.NET跨平台
比较认真。编程就是算法和数据结构,算法和数据结构是编程的灵魂。
展开
-
SQL---关联子查询(correlated subquery)
关联子查询和普通子查询的区别在于:1,关联子查询引用了外部查询的列。2,执行顺序不同。对于普通子查询,先执行普通子查询,再执行外层查询;而对于关联子查询,先执行外层查询,然后对所有通过过滤条件的记录执行内层查询。语法:SELECT column1, column2FROM table1 AS outerWHERE column1 operator (SELECT column1, column2 FROM table2 WHERE expr1 = oute转载 2021-04-17 15:15:21 · 5910 阅读 · 1 评论 -
Oracle存储过程总结
1.存储过程结构1.1 第一个存储过程CREATE OR REPLACE PROCEDURE proc1 ( para1 varchar2, para2 OUT varchar2, para3 IN OUT varchar2)AS v_name varchar2(20);BEGIN v_name := 'zhangsf';转载 2018-02-02 22:10:02 · 339 阅读 · 0 评论 -
Oracle存储过程(百科)
语法CREATE [ORReplace]PROCEDURE[schema.] procedure_name [(argument [{IN|OUT|INOUT}] datatype, ... argument [{IN|OUT|INOUT}] datatype)] {IS | AS} [descriptionpart说明部分] BEGIN SQLSTATEMENT语转载 2018-02-02 22:17:06 · 322 阅读 · 0 评论 -
Oracle存储过程详解(一)
存储过程创建语法:create [or replace] procedure 存储过程名(param1 in type,param2 out type)as变量1 类型(值范围);变量2 类型(值范围);Begin Select count(*) into 变量1 from 表A where列名=param1; If (判断条件) then Sele转载 2018-02-02 22:47:47 · 951 阅读 · 0 评论 -
Oracle存储过程详解(三)-嵌套
1. 嵌套块-- Created on 2016/4/22 by ADMINISTRATOR declare p_dname varchar2(50) := '微软'; p_deptno number := 60; p_deptloc varchar2(100) := '米国'; v_state varchar2(50);--状态begin --内部嵌套块 <<查询是转载 2018-02-02 22:50:18 · 2380 阅读 · 0 评论 -
Oracle SQL:select各类查询语句总结
SQL查询语句总结数据查询语言:即DML(Data Mannipulation Language)数据操纵语言,用于查询、操纵数据表资料行本手册所有示例引用表均以TIPTOP GP ERP数据库表为基础演示,TIPTOP 数据字典下载地址:http://pan.baidu.com/s/1jG1PGF01、SELECT 查询所有列资料或特定列资料[sql] view plain转载 2018-02-02 23:31:34 · 682 阅读 · 0 评论 -
Oracle与.NET数据类型映射
下表列出 Oracle 数据类型及其与 OracleDataReader 的映射。 Oracle 数据类型 由 OracleDataReader.GetValue 返回的 .NET Framework 数据类型 由 OracleDataReader.GetOracleValue 返回的 OracleClient 数据类型 备注 BFILE Byte[] O转载 2018-01-27 21:54:59 · 1681 阅读 · 0 评论 -
Rownum,Rowid,row_number()及oracle分页查询
1.rownum和rowid都是伪列,但两者的根本是不同的,rownum是根据sql查询出来的结果给每行分配一个逻辑编号,不同的sql也就会导致rownum不同,但是rowid是物理结构上的,在每条记录Insert到数据库时,就会有一个唯一的物理记录。rowid可以说是屋里存在的,表示记录在表空间中的一个唯一位置ID,在DB中唯一。只要记录没被搬动过,rowid是不变的。rowid相对转载 2018-02-08 22:36:03 · 477 阅读 · 0 评论 -
Oracle的子查询【单行子查询和多行子查询】
1、查询部分分为主查询和子查询; 2、根据返回值的记录多少分为单行子查询和多行子查询;单行子查询用单行比较符=连接;多行子查询用多行比较符in连接; 3、子查询的内容可以放在FROM后面,也可以放在WHERE后面,也可以放在HAVING后面; 4、完整的SELECT语句可以拥有GROUP BY,HAVING子句,也可以使用组函数;也可以从多个表中查询; 5、转载 2018-02-08 22:54:14 · 3171 阅读 · 0 评论 -
Oracle sysdate时间加减
加法 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,add_months(sysdate,1) from dual; --加1月 select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1转载 2018-02-08 23:12:40 · 6937 阅读 · 0 评论 -
ORACLE基础之oracle锁(oracle lock mode)详解
ORACLE里锁有以下几种模式: 0:none 1:null 空 2:Row-S 行共享(RS):共享表锁,sub share 3:Row-X 行独占(RX):用于行的修改,sub exclusive 4:Share 共享锁(S):阻止其他DML操作,share 5:S/Row-X 共享行独占(SRX):阻止其他事务操作,share/sub exclusive转载 2018-02-09 21:39:13 · 1269 阅读 · 0 评论 -
Oracle常见死锁发生的原因以及解决方法
一.删除和更新之间引起的死锁造成死锁的原因就是多个线程或进程对同一个资源的争抢或相互依赖。这里列举一个对同一个资源的争抢造成死锁的实例。CREATE TABLE testLock( ID NUMBER, test VARCHAR(100) ) COMMIT INSERT INTO testLock VALUES(1,'test1'); INSERT INTO testLock VALUES(2转载 2018-02-09 21:58:06 · 803 阅读 · 0 评论 -
Oracle子查询
Oracle基础内容:子查询(单行、any、all),子查询在SELECT、UPDATE、DELETE语句内部可以出现SELECT语句。内部的SELECT语句结果可以作为外部语句中条件子句的一部分,也可以作为外部查询的临时表。子查询的类型有: 单行子查询:不向外部返回结果,或者只返回一行结果。 多行子查询:向外部返回零行、一行或者多行结果。 案例1:查询出销售部(SAL转载 2018-02-09 21:59:39 · 469 阅读 · 0 评论 -
Oracle复杂查询综合
-- 1、列出所有员工的年工资,按年薪从低到高排序。select empno, ename, sal, nvl2(comm, (sal+comm)*12, sal*12) income from emp order by income;-- 2、列出薪金比“SMITH”多的所有员工。select *from empwhere sal>( select sal from转载 2018-02-06 20:55:19 · 1137 阅读 · 0 评论 -
Oracle中的decode的使用
含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END转载 2018-02-06 21:55:56 · 578 阅读 · 0 评论 -
SQL语句中:简单Case函数和Case搜索函数
Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女'ELSE转载 2018-02-06 21:57:02 · 3078 阅读 · 2 评论 -
Oracle PL/SQL中使用%TYPE和%ROWTYPE的区别
%TYPE: 定义一个变量,其数据类型与已经定义的某个 数据变量的类型相同,或者与数据库表的某个列的数据类型相同,这时可以使用%TYPE。 使用%TYPE 特性的优点在于: 1.所引用的数据库列的数据类型可以不必知道; 2. 所引用的数据库列的数据类型可以实时改变。[html] view plain copy d转载 2018-02-06 22:06:36 · 1809 阅读 · 0 评论 -
Oracle中RECORD、VARRAY、TABLE的使用详解
1 说明 1.1 RECORD 定义记录数据类型。它类似于C语言中的结构数据类型(STRUCTURE),PL/SQL提供了将几个相关的、分离的、基本数据类型的变量组成一个整体的方法,即RECORD复合数据类型。在使用记录数据类型变量时,需要在声明部分先定义记录的组成、记录的变量,然后在执行部分引用该记录变量本身或其中的成员。定义记录数据类型的语法如下:TYPE R转载 2018-02-06 22:25:25 · 1362 阅读 · 0 评论 -
Oracle数据库SQL语句、内置函数大全
1、数值函数 函数 返回值 样例 显示 CEIL(n) 大于或等于数值n的最小整数 SELECT CEIL(10.6) FROM TABLE_NAME; 11 FLOOR(n) 小于等于数值n的最大整数 SELECT FLOOR (10.6) FROM TABLE_NAME; 10转载 2018-02-06 22:32:48 · 640 阅读 · 0 评论 -
Oracle学习大全
--在system表空间创建用户--其中,jinanuser是用户名 jinanuser是密码CREATE USER jinanuser IDENTIFIED BY jinanuser;--将DBA角色赋给jinanuser这个用户GRANT DBA TO jinanuser;--撤销jinanuser用户的DBA角色REVOKE DBA FROM jinanuser;--在自己创建转载 2018-02-06 22:33:12 · 355 阅读 · 0 评论 -
Oracle中的instr()函数详解及应用
1)instr()函数的格式 (俗称:字符查找函数)格式一:instr( string1, string2 ) / instr(源字符串, 目标字符串)格式二:instr( string1, string2 [, start_position [, nth_appearance ] ] ) / instr(源字符串, 目标字符串, 起始位置, 匹配序号)解析:string2 的值转载 2018-02-06 22:40:24 · 485 阅读 · 0 评论 -
oracle查看被锁的表和解锁
–以下几个为相关表 SELECT * FROM vlock;SELECT∗FROMvlock; SELECT * FROM vsqlarea; SELECT * FROM vsession;SELECT∗FROMvsession; SELECT * FROM vprocess ; SELECT * FROM vlockedobject;SELECT∗FROMallobjects;SE转载 2018-02-06 22:41:44 · 292 阅读 · 0 评论 -
Oracle:锁机制及解锁
使用结构:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IF转载 2018-02-07 13:23:26 · 1047 阅读 · 0 评论 -
Oracle的varchar2
Oracle的varchar2的最大长度,编码问题varchar2的类型:Oracle字段长度设置为varchar2(4000), 1.当数据库的字符集设置成gb2312,一个汉字占两个字节,可以放2000个汉字, 2.当数据库的字符集设置成utf-8则,一个汉字占三个字节,只能存4000/3 = 1300多点;oracle数据库编码SIMPLIFIED CHI转载 2018-02-17 12:27:35 · 1899 阅读 · 0 评论 -
Oracle优化器(RBO与CBO)
Oracle的优化器有两种,基于规则的优化器(RBO)和基于代价的优化器(CBO)。在8i之前,Oracle使用的是RBO(Rule Based Optimizer,基于规则的优化器),他的执行非常简单,就是在优化器里面嵌入15中规则,执行SQL语句符合哪种规则,就按照规则定制出相应的SQL执行计划。由于他是一种过时呆板的优化器,在10g以后的版本中已经被踢出掉了。从8i开始,Oracle转载 2018-02-17 12:31:52 · 767 阅读 · 0 评论 -
ORACLE 创建作业JOB
--1.plsql中学习job --学习job --建表 create table test_job(para_date date); commit; insert into test_job values(sysdate); commit; select * from test_job;--建立存贮过程 create or replace procedu转载 2018-02-17 12:32:33 · 1146 阅读 · 0 评论 -
Oracle Job的使用(定时执行)
oracle中的job能为你做的就是在你规定的时间格式里执行存储过程,定时执行一个任务 。下面是一个小案例,定时每15分钟向一张表插入一条数据一1.创建一张测试表-- Create tablecreate table A8( a1 VARCHAR2(500))tablespace DSP_DATA pctfree 10 initrans 1 maxtrans 2转载 2018-02-17 12:33:16 · 459 阅读 · 0 评论 -
oracle数据库定时任务dbms_job的用法详解
一、dbms_job涉及到的知识点1、创建job:variable jobno number;dbms_job.submit(:jobno, --job号 'your_procedure;',--执行的存储过程, ';'不能省略 next_date, --下次执行时间 'interval' --每次间隔时间,interval以天为单位); --系统会自动分配一个任务号jo转载 2018-02-17 12:33:56 · 1426 阅读 · 0 评论 -
使用dbms_job包创建Oracle定时任务
在Oracle的包里面,有一个名字叫做DBMS_JOB的包,它的作用是安排和管理作业队列。通过作业队列,可以让Oracle数据库定期执行特定的任务。当使用DBMS_JOB管理作业的时候,必须确保设置了初始化参数JOB_QUEUE_PROCESSES(不能为0)。1、 SUBMIT该过程用于建立一个新的作业,当建立作业的时候,需要通过设置相应的参数来告诉Oracle要执行的内容,要执行的转载 2018-02-17 12:36:07 · 495 阅读 · 0 评论 -
.net通过ODP.NET Managed连接Oracle数据库
1、 Oralce官网 下载 安装 ODTforVS2015_121025 重启VS2、项目引用 Oracle.ManagedDataAccess.dll3、数据库连接字符串: user id=xxxx;password=xxxx;data source=192.168.0.xxx:1521/orcl(数据库名)4、使用方法:OracleConnection con转载 2018-02-17 17:12:25 · 1100 阅读 · 0 评论 -
Oracle常用数据类型说明
类型 含义 存储描述 备注 CHAR 固定长度字符串 最大长度2000bytes VARCHAR2 可变长度的字符串, 最大长度4000bytes 可做索引的最大长度749 NCHAR 根据字符集而定的固定长度字符串 最大长度2000bytes NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000bytes转载 2018-02-17 18:14:57 · 4357 阅读 · 0 评论 -
ORACLE时间函数(SYSDATE)深入理解
加法 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,add_months(sysdate,1) from dual; --加1月 select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期 select sys转载 2018-03-15 22:23:30 · 38417 阅读 · 0 评论 -
oracle高效分页存储过程(百万数据级)
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->create or replace procedure Pager(page in number,--数据页数,从1开始pageSize in number,--每页大小tableName nvarc转载 2018-03-03 15:00:13 · 682 阅读 · 0 评论 -
各种Oracle索引类型介绍
逻辑上:Single column 单行索引Concatenated 多行索引Unique 唯一索引NonUnique 非唯一索引Function-based函数索引Domain 域索引物理上:Partitioned 分区索引NonPartitioned 非分区索引B-tree:Normal 正常型B树Rever Key 反转型B树 Bitmap 位图索引索引结构:B-tree:转载 2018-03-03 16:03:27 · 34162 阅读 · 1 评论 -
Oracle如何快速操作千万级大表数据
不管Oracle有多牛,一个上千万级记录数据的表操作起来还是很慢,是超级慢.最近公司处理一个接近一亿记录数的表,需要按时间删除前几个月的数据,这个就头疼了.就是统计此表的总记录数都要处理10多分钟,更不用说根据时间条件去删除数据了.现在说说我在操作大表时遇到的问题吧.1.删除数据非常慢刚开始我使用的是这个sql:delete from sun_log_access_2016 where time<t转载 2018-03-03 16:10:04 · 4964 阅读 · 0 评论 -
Oracle对于多个大表关联操作如何优化速度?
首先要建立适当的索引。sql在索引字段不要加函数,保证索引起效。如果是复合索引注意在sql的顺序。如果已经存在索引,建议你先重建索引先,因为大数据表的索引维护到了一个阶段就是乱的,一般建议重建。建立好的一般可以获得几十倍的速度提升。最大数据量的表放在最前,最小的表放在最后面。sql是从最后面开始反向解析的。其次是要把最有效缩小范围的条件放到sql末尾去。尤其是主键或者索引字段的条件。保证你sq转载 2018-03-03 16:11:33 · 22108 阅读 · 0 评论 -
Oracle通过v$sqlarea,v$sql查询最占用资源的查询
v$sqlarea,v$sql从V$SQLAREA中查询最占用资源的查询select b.username username,a.disk_reads reads, a.executions exec,a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio, a.sql_text Statementfrom转载 2018-03-11 19:40:18 · 1663 阅读 · 0 评论 -
能使Oracle索引失效的七大限制条件
Oracle 索引的目标是避免全表扫描,提高查询效率,但有些时候却适得其反。例如一张表中有上百万条数据,对某个字段加了索引,但是查询时性能并没有什么提高,这可能是 oracle 索引失效造成的。oracle 索引有一些限制条件,如果你违反了这些索引限制条件,那么即使你已经加了索引,oracle还是会执行一次全表扫描,查询的性能不会比不加索引有所提高,反而可能由于数据库维护索引的系统开销造成性能更差。转载 2018-03-11 19:52:59 · 1773 阅读 · 0 评论 -
oracle的初始化参数文件学习
一、服务器初始化参数文件概述oracle的初始化参数文件保存了数据库实例创建和启动时所必须的初始化参数配置信息。 初始化参数文件损坏,数据库无法启动。11g中,初始化参数有341个,分显式和隐式两种。9i之前的版本,将显式参数及其存储在一个文本文件中,称之为文本初始化参数文件。默认名称为INIT<SID>.ORA。默认位置为%ORACLE_HOME%/database目录。 11g数据库在创建的转载 2018-03-11 21:34:29 · 1453 阅读 · 0 评论 -
Oracle 性能相关常用脚本
在缺乏的可视化工具来监控数据库性能的情形下,常用的脚本就派上用场了,下面提供几个关于Oracle性能相关的脚本供大家参考。以下脚本均在Oracle 10g测试通过,Oracle 11g可能要做相应调整。1、寻找最多BUFFER_GETS开销的SQL语句--filename: top_sql_by_buffer_gets.sql--Identify heavy SQL (Get the SQL wi转载 2018-03-11 21:35:22 · 565 阅读 · 0 评论