#1.系统日期、时间函数^1.SELECTTO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MI:SS')FROMDUAL--查询系统当前日期^2.SELECTSYSTIMESTAMPFROMDUAL--查询带时区的系统日期^3.SELECTDBTIMEZONEFROMDUAL--查询当前时区SELECTSESSIONTIMEZONEFROMDUAL--查询当前会话的时区^4.SELECTTO_CHAR(ADD_MONTHS(TO_DATE(
系统 2019-08-12 01:52:38 2359
RoleTransitionsInvolvingPhysicalStandbyDatabasesAdatabaseoperatesinoneofthefollowingmutuallyexclusiveroles:primaryorstandby.DataGuardenablesyoutochangetheserolesdynamicallybyissuingtheSQLstatementsdescribedinthischapter,orbyusinge
系统 2019-08-12 01:54:25 2358
Oracle单表的复杂查询selectavg(sal),max(sal),deptnofromempgroupbydeptno;selectavg(sal),max(sal),deptnofromempgroupbydeptnohavingavg(sal)>2000orderbydeptno;查询工资高于500或者是岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J?select*fromempwhere(sal>500orjob='man
系统 2019-08-12 01:54:19 2356
模块一SQL(DQL)l基本SQL查询l运算符与函数l子查询l连接查询建表语句emp.sqlPartI(第一天)01.查询员工表所有数据,并说明使用*的缺点答:select*fromemp;使用*的缺点有a)查询出了不必要的列b)效率上不如直接指定列名02.查询职位(JOB)为'PRESIDENT'的员工的工资答:select*fromempwherejob='PRESIDENT';03.查询佣金(COMM)为0或为NULL的员工信息答:重点是理解0与nu
系统 2019-08-12 01:53:35 2356
函数索引SELECT*FROMDEMOTWHEREF7='F';SELECT*FROMDEMOTWHERELOWER(F7)='f';F7上本来是有位图索引的,但是使用了LOWER函数后,就进行了全表扫面。下面我们来创建F7列上的函数索引LOWERCREATEINDEXFUN_INDEXONDEMOT(LOWER(F7));5seconds再看执行计划,发生了变化,使用了索引扫描。聚合函数本身在oracle就创建了索引。复合索引/组合索引一个问题:创建索引
系统 2019-08-12 01:55:23 2355
在查看sql执行计划时,我们会发现表的连接方式有多种,本文对表的连接方式进行介绍以便更好看懂执行计划和理解sql执行原理。一、连接方式:嵌套循环(NestedLoops(NL))(散列)哈希连接(HashJoin(HJ))(归并)排序合并连接(SortMergeJoin(SMJ))二、连接说明:1.Oracle一次只能连接两个表。不管查询中有多少个表,Oracle在连接中一次仅能操作两张表。2.当执行多个表的连接时,优化器从一个表开始,将它与另一个表连接;
系统 2019-08-12 01:54:16 2355
oraclerowid详解今天是2013-09-15,存储在数据库中的每一行数据都有一个地址,oracle使用rowid数据类型在存储地址。rowid有如下类别:1)physicalrowids,存储堆表、簇表以及表和索引分区中每行地址2)logicalrowids,存储索引组织表的每行的地址3)foreignrowids,定义在外部表中。如通过gateway访问db2表,这不是标准数据rowids在oracle数据库中有一个伪劣的叫rowid,这个伪劣像
系统 2019-08-12 01:52:50 2355
Oracle中startwith…connectbyprior子句用法connectby是结构化查询中用到的,其基本语法是:select…fromtablenamestartwith条件1connectby条件2where条件3;例:select*fromtablestartwithorg_id=‘HBHqfWGWPy’connectbypriororg_id=parent_id;简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:org_i
系统 2019-08-12 01:54:14 2354
SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL>selectascii('A')A,ascii('a')a,ascii('0')zero,ascii('')spacefromdual;AAZEROSPACE------------------------------------659748322.CHR给出整数,返回对应的字符;SQL>selectchr(54740)zhao,chr(65)chr65fromdual;ZHC---
系统 2019-08-12 01:52:55 2354
ORACLE日期_:submitdate=DateTime.Parse(submitdate).ToString("d-M月-yyyy");当前时间:sysdate()to_date('2002-01-02','yyyy-M-dd')selectcount(1)fromL_PERMwhereCANCEL<>'Y'and(sysdate-perm_date)>3在PL/SQLDevelop中调试、作试验,我写入以前在SQLServer中的SQL语句:INSE
系统 2019-08-12 01:52:11 2352
--======================--Oracle备份恢复概念--======================数据库维护中,备份或恢复是重中之重的问题。尽管很多时候数据库系统运行缓慢,但对数据库数据的丢失而言,显然后者损失的代价是不言而喻的。因此DBA至少在保证数据不丢失的情况下来提高系统的性能是最起码的要求。关于什么是备份与回复,在此不做赘言。一、物理备份与逻辑备份物理备份是所有物理文件的一个副本,比如数据文件,控制文件,归档日志等。该副本
系统 2019-08-12 01:53:07 2351
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享!(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表drivingtable)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询,那就需要选择交叉表(intersectiontable)
系统 2019-08-12 01:52:42 2350
在oracle10g环境下:1.查看sql执行计划:autotrace>setautotraceon>setautotraceoff默认情况是off2.查看sql运行轨迹:sql_trace和10046event1)本session内:开启>altersessionsetsql_trace=true;关闭>altersessionsetsql_trace=false;默认情况是false;2)其他用户session:查询其他session>selectsi
系统 2019-08-12 01:51:48 2349
我们知道Oracle数据库热备有3步:1.altertablespacetbnamebeginbackup;2.cp/×××to/××3.altertablespacetbnameendbackup;这个过程要尽可能短,否则会造成大量的redolog。那么,数据库在你执行beginbackup时,系统做了什么呢?1.tablespace发生了一次checkpoint------会把buffer脏数据全部写入到数据文件2.tablespace下的数据文件的文
系统 2019-08-12 01:55:01 2348