![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
cenhonggang86
无欲无求 ,
只愿家人健康
展开
-
【转载】事务
一、什么是事务事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要们全部失败。如:网上转帐就是典型的要用事务来处理,用以保证数据的一致性。 二、事务和锁当执行事务操作时,Oracle会在被作用的表上加锁,防止其他用户改表。三、提交事务在执行使用commit语句可以提交事务,当执行了commit语句后,会确认事务的变化,结...原创 2010-09-21 16:10:22 · 89 阅读 · 0 评论 -
【转载】学习之Dual表
最近在使用Oracle时遇到一个特殊的表Dual。想必了解Oracle的人对Dual的使用情有独钟。于是乎在网上找了些帖子,觉得比较好贴在这里供大家学习。 dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。我们可以用它来做很多事情,如下:1、查看当前用户,可以在 SQL Plus中执行下面语句 select user from d...原创 2010-09-25 19:49:12 · 123 阅读 · 0 评论 -
【转载】110个常用函数整理汇总
1. ASCII返回与指定的字符对应的十进制数;SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual;A A ZERO SPACE--------- --------- --------- ---------65 97 48 322. CHR给出整数,返回对应的字符;...原创 2010-09-25 19:55:00 · 125 阅读 · 0 评论 -
【转载】记录被锁解锁方法
今天,在使用update更新一条记录时,怎么都更新不了,一直处在没反应状态,然后采用编辑行记录时提交就说记录被锁,才知道具体的原因了。 最后通过以下办法总算把记录更新了 一.查看数据库锁,诊断锁的来源及类型1 Select object_id,session_id,locked_mode From v$locked_object; 或者:1...原创 2010-09-25 19:56:31 · 131 阅读 · 0 评论 -
查找数据库锁
SELECT /*+ rule */ lpad(' ', decode(l.xidusn, 0, 3, 0)) || l.oracle_username User_name, o.owner, o.object_name, o.object_type, s.sid, s.serial# FROM ...原创 2010-10-11 17:19:08 · 111 阅读 · 0 评论 -
从dual表中查询返回多行记录
select * from dual connect by 0 + level <= 10;DUMMY ----- X X X X X X X X X X 10 所选行 按照这个特性计算两个日期之间的工作日:(中文仅供方便阅读)select 日期, 星期 from (select to_da...原创 2010-10-11 17:28:46 · 6249 阅读 · 0 评论 -
oracle 行转列
select '{' || d.il1_id || '}{' || d.il2_id || '}{' || d.il3_id || '}{' || d.il4_id || '}{' || d.il5_id || '}' ids from t_dept d where d.idept_id = 1878; select regexp_replace(regexp_substr((s...原创 2010-10-11 17:29:12 · 121 阅读 · 0 评论 -
找回被删除的数据
利用 delete from chg_number; 时找回方式insert into chg_number select * from chg_number as of timestamp sysdate - 1/24/10; --1天/24小时/10分钟 利用truncate table chg_number;时找回方式 利用 drop table chg_n...原创 2010-11-12 17:00:10 · 121 阅读 · 0 评论 -
创建返回值为自定义表的函数
CREATE OR REPLACE FUNCTION 函数名() RETURN T_ERROR PIPELINED ISBEGIN PIPE ROW(V_ERROR); RETURN;END 函数名; create or replace type t_error as table of varchar2(500);原创 2010-11-17 13:22:29 · 170 阅读 · 0 评论 -
查询表属于的库和用户
select * from user_tables t where t.table_name = '表名'; --查询表是否属于当前数据库select * from dba_segments t where t.segment_name = '表名'; --查询表属于哪个用户原创 2010-11-19 11:44:17 · 171 阅读 · 0 评论 -
Oracle 事件跟踪
--查询30分钟前的数据select * from t as of timestamp sysdate - 1/24/2 where t.id = 999;--以下命令需要在SQLPLUS中执行:--获取sql执行计划以及统计信息set autotrace traceonly explain statistics; --以下命令需要能访问oracle服务器查看输出日志:--开启事件跟踪...原创 2010-11-19 16:15:21 · 111 阅读 · 0 评论 -
【转载】job简介
步骤如下: 1、创建一张表g_test create table G_TEST ( ID NUMBER(12), C_DATE DATE ) 2、创建一个sequence create sequence G_SEQ minvalue 1 maxvalue 999999999999999999999999999 start with 141...原创 2010-09-25 19:48:08 · 171 阅读 · 0 评论 -
【转载】 错误一览表
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话 ORA-00022: 无效的会话 ID;访问被拒绝 ORA-00023: 会话引用进程私用内存...原创 2010-09-25 19:45:39 · 141 阅读 · 0 评论 -
【转载】常用命令
1、连接命令:conn[ect]用法:conn 用户名/密码@网络服务名 [as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是 assysoper disc[onnect]说明:该命令用来断开与当前数据库的连接。 passw[ord]说明:该命令用于修改用户的密码,如果要想修改其他用户的...原创 2010-09-25 19:22:11 · 126 阅读 · 0 评论 -
【转载】用户管理
1、创建新用户概述:在Oracle中药创建一个新的用户使用createuser语句,一般是具有DBA(数据库管理员)的权限才能使用。命令:sql>create user 用户名 identified by 密码案例:sql>create user kevin identified by m123说明:创建了一个名为kevin的用户,密码是m123。 ...原创 2010-09-25 19:22:53 · 119 阅读 · 0 评论 -
【转载】表查询
一、简单的查询语句1、查询表结构sql>desc dept;2、查询所有列sql>select * from dept;3、查询指定列sql>select ename,sal,job,deptno from emp;4、如何取消重复行sql>select distinct deptno,job from emp;5、使用算术表达式实例:显示每...原创 2010-09-25 19:23:34 · 87 阅读 · 0 评论 -
【转载】函数的使用
一、字符函数介绍:字符函数是Oracle中最常用的函数,我们来看看有哪些字符函数。1、lower(char):将字符串转化为小写格式。案例:将所有员工的名字按小写的方式显示sql>select lower(ename) from emp;2、upper(char):将字符串转化为大写的格式案例:将所有员工的名字按大写的方式显示sql>select upper(ena...原创 2010-09-25 19:24:16 · 75 阅读 · 0 评论 -
【转载】数据库管理
一、数据库管理员概述:每个Oracle数据库应该至少有一名数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分别担负不同的管理职责。职责:1、安装和升级Oracle数据库。2、建库、表空间、表、视图、索引……3、指定并实施备份与恢复计划。4、数据库权限管理,调优,故障排除。5、对于高级数据库...原创 2010-09-25 19:31:22 · 99 阅读 · 0 评论 -
【转载】约束
一、维护数据的完整性 概述:数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则。在Oracle中,数据完整性可以使用约束、触发器、应用程序(过程、函数)三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据完整性的首选。 1、约束 约束用于确保数据库数据满足特定的商业规则。在Oracle中,约束包括:not null、unique、pri...原创 2010-09-25 19:32:12 · 100 阅读 · 0 评论 -
【转载】索引
一、概述 索引是用于加速数据存取数据对象,合理的使用索引可以大大降低I/O次数,从而提高数据访问性能。索引有很多种我们主要介绍常用的几种。 二、创建索引 1、单列索引 单列索引是基于单个列所建立的索引。 sql>create index 索引名 on 表名(列名); 2、复合索引 复合索引是基于两列或是多列的索引,...原创 2010-09-25 19:33:29 · 74 阅读 · 0 评论 -
【转载】权限
一、概述 这一部分我们主要看看Oracle如何管理权限和角色,权限和角色的区别在哪里。 当刚刚建立用户时,用户没有任何权限,也不能执行任何操作。如果要执行某种特定的数据库操作,则必须为其授予系统的权限。如果用户要访问其他方案的对象,则必须为其授予对象的权限,为了简化权限的管理,可以使用角色。这里我们会详细介绍。 二、权限 权限是指执行特定类型的Sql命...原创 2010-09-25 19:34:12 · 151 阅读 · 0 评论 -
【转】临时表 优化查询速度
1、前言 目前所有使用Oracle作为数据库支撑平台的应用,大部分数据量比较庞大的系统,即表的数据量一般情况下都是在百万级以上的数据量。 当然在Oracle中创建分区是一种不错的选择,但是当你发现你的应用有多张表关联的时候,并且这些表大部分都是比较庞大,而你关联的时候发现其中的某一张或者某几张表关联之后得到的结果集非常小并且查询得到这个结果集的速度非常快,那么这个时候我...原创 2010-09-25 19:42:01 · 148 阅读 · 0 评论 -
【转载】集合操作函数
集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT , MINUS。当使用集合操作符时,必须确保不同查询的列个数和数据类型匹配。 集合操作符具有以下注意事项: * 集合操作符不适用于LOB、VARRAY和嵌套表列。 * UNION、INTERSECT、MINUS操作符不使用于 LONG列。 * 如...原创 2010-09-25 19:43:30 · 124 阅读 · 0 评论 -
将Sequence统一加100000
select 'alter sequence ' || t1.sequence_name || ' increment by 100000 nocache;' from user_sequences t1union allselect 'select ' || t2.sequence_name || '.nextval from dual;' from user_sequences t2union...原创 2010-12-01 10:46:29 · 260 阅读 · 0 评论