sql oracle
pf1234321
这个作者很懒,什么都没留下…
展开
-
oracle 常见函数
Upper SELECT Upper ('abcde') FROM dual ;SELECT * FROM emp WHERE ename=UPPER('smith') ;Lower SELECT lower('ABCDE') FROM dual ;Initcap:首字母大写 其他字母小写Select initcap(ename) from emp原创 2015-06-21 12:19:47 · 407 阅读 · 0 评论 -
根据已有的表创建新的表和从另外的表获取数据到新的表里面方法sql
create table table_name1 as select * from table_name2 where 1=2insert into tableName1(col1,col2) select col1,col2 from tableName2原创 2015-08-20 11:34:32 · 3134 阅读 · 0 评论 -
oracle恢复删除的数据 闪回
分为两种方法:scn和时间戳两种方法恢复。一、通过scn恢复删除且已提交的数据 1、获得当前数据库的scn号 select current_scn from v$database; (切换到sys用户或system用户查询) 查询到的scn号为:1499223 2、查询当前scn号之前的scn select * from 表名 as of scn 1转载 2015-09-28 10:25:24 · 415 阅读 · 0 评论 -
With temp as---sql语句用法
3.1 with基础 使用WITH AS 语句可以为一个子查询语句块定义一个名称,使用这个子查询名称可以在查询语句的很多地方引用这个子查询。Oracle 数据库像对待内联视图或临时表一样对待被引用的子查询名称,从而起到一定的优化作用。with子句是9i新增语法。 你可以在任何一个顶层的SELECT 语句以及几乎所有类型的子查询语句前,使用子查询定义子句。被定义的子查询名称可以在转载 2015-09-14 09:46:40 · 610 阅读 · 0 评论 -
linux下查看已经安装的jdk 并卸载jdk
一、查看Jdk的安装路径: whereis javawhich java (java执行路径)echo $JAVA_HOME echo $PATH 备注:如果是windows中,可以使用: set java_home:查看JDK安装路径java -version:查看JDK版本 二、卸载旧版本的JDK:转载 2015-09-15 16:59:26 · 291 阅读 · 0 评论 -
ORA-01847: day of month must be between 1 and last day of month 解决方法
Caused by: java.sql.BatchUpdateException: ORA-01847: day of month must be between 1 and last day of month 该问题可能有2种情况:1、日期本身是数据非法的,如2月30日,select to_date('2015-02-30','yyyy-mm-dd') from dual; 2、转载 2015-10-19 15:37:12 · 2133 阅读 · 0 评论 -
Oracle查询重复数据并删除,只保留一条记录
1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录DELETE from 表 WHERE (id) IN ( SELE转载 2015-11-09 10:21:35 · 965 阅读 · 0 评论 -
Oracle查询树形结构
Oracle查询树形结构oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:select * from tablename start with cond1connect by cond2where cond3;简单说来是将一个树状结构存储在一张表里,转载 2015-07-12 11:29:30 · 418 阅读 · 0 评论 -
表空间容量查看与增加undo表空间
(2013-02-06 07:52:15)转载▼ 分类:oracle--查看数据文件存放位置select * from dba_data_files;--手动更改表空间容量ALTER DATABASE DATAFILE '/u02/oradata/undotbs02.dbf'RESIZE 10000M;--查看转载 2015-12-16 10:14:37 · 1203 阅读 · 0 评论 -
with temp as 定义变量
with temp as (select class_id, orga_id, class_name, grade from t_class_info where orga_id = #orgaId# and grade = #grade#) select ac.account , ac.account_id原创 2016-03-04 16:42:34 · 2457 阅读 · 0 评论 -
提高SQL查询效率
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select i转载 2016-02-27 09:06:41 · 309 阅读 · 0 评论 -
oracle表分区详解
从以下几个方面来整理关于分区表的概念及操作:表空间及分区表的概念表分区的具体作用表分区的优缺点表分区的几种类型及操作方法对表分区的维护性操作 1.表空间及分区表的概念表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。 分区表:当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就转载 2016-06-01 16:47:36 · 315 阅读 · 0 评论 -
oracle 函数 WMSYS.WM_CONCAT 的用法 与 mysql 函数GROUP_CONCAT的用法
1、Oracle函数 WMSYS.WM_CONCAT的使用如图,将图1的结果变成图2的结果,使用函数 WMSYS.WM_CONCAT 即可。查询语句需要配合使用group byselect aa,wmsys.wm_concat(t1.name) from (select t.name,to_char(t.createdate,'yyyy-mm-dd') aa from td_u转载 2017-02-22 11:39:08 · 335 阅读 · 0 评论 -
安装oracle11版本报错此先决条件将测试系统物理内存总量是否至少为 922MB
一、oracle下载 win 32位操作系统 下载地址: http://download.Oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_1of2.zip http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_转载 2017-03-03 22:57:39 · 20657 阅读 · 2 评论 -
Oracle定时任务理论知识详解
DBMS_JOB系统包是Oracle“任务队列”子系统的API编程接口。DBMS_JOB包对于任务队列提供了下面这些功能:提交并且执行一个任务、改变任务的执行参数以及删除或者临时挂起任务等。DBMS_JOB包是由ORACLE_HOME目录下的rdbms/admin子目录下的DBMSJOB.SQL和PRVTJOB.PLB 这两个脚本文件创建的。这两个文件被CATPROC.SQL脚本文件调用,而C转载 2017-03-15 14:36:09 · 634 阅读 · 0 评论 -
Oracle定时任务
DBMS_JOB系统包是Oracle“任务队列”子系统的API编程接口。DBMS_JOB包对于任务队列提供了下面这些功能:提交并且执行一个任务、改变任务的执行参数以及删除或者临时挂起任务等。DBMS_JOB包是由ORACLE_HOME目录下的rdbms/admin子目录下的DBMSJOB.SQL和PRVTJOB.PLB 这两个脚本文件创建的。这两个文件被CATPROC.SQL脚本文件调用,而C转载 2017-03-15 14:36:38 · 556 阅读 · 0 评论 -
Oracle COALESCE函数
Oracle COALESCE函数语法为COALESCE(表达式1,表达式2,...,表达式n),n>=2,此表达式的功能为返回第一个不为空的表达式,如果都为空则返回空值。注意:所有表达式必须为同一类型或者能转换成同一类型。 www.2cto.com 示例一:在emp表中给comm列为空的人员设为200[sql] www.2cto.com SQL> select a.em转载 2015-08-20 11:31:42 · 420 阅读 · 0 评论 -
Oracle中connect,resource角色权限
connect resource权限 grant connect,resource to user; 执行上面的sql语句后用户包括的权限: CONNECT角色: --是授予最终用户的典型权利,最基本的 ALTER SESSION --修改会话 CREATE CLUSTER --建立聚簇 CREATE DATABAS转载 2015-09-10 10:46:06 · 1056 阅读 · 0 评论 -
oracle 模糊查询 like
% 表示零或多个字符_ 表示一个字符对于特殊符号可使用 ESCAPE 标识符来查找这个是查询用户名称为SMITH_的信息 模糊查询select * from emp where ename like '%*_%' escape '*'select replace(ename,'_') from emp where ename like 'SMITH\原创 2015-06-21 12:05:27 · 497 阅读 · 0 评论 -
查看当前用户的权限信息SQL SELECT * FROM SESSION_PRIVS;
SELECT * FROM SESSION_PRIVS;原创 2015-07-06 15:45:22 · 1029 阅读 · 0 评论 -
创建视图 ORA-01031: 权限不足
视图就是一种虚拟的表,为了方便把各类表所需要的字段取出来创建的一张新的虚拟表。视图的增删改需要触发器的配合。 如果只是查找同一方案中的表去创建视图,则只需要该用户有createview的权限便可创建。但是如果创建的视图涉及到要查询别的方案中的表,这时我们就需要select any table的权限了。 授权命令:cmdsqlplus "/as sysdbagrant s转载 2015-07-06 15:22:25 · 12414 阅读 · 0 评论 -
oracle创建数据库命令
1、创建表空间create tablespace apimgt datafile 'F:\app\lenovo\oradata\apimgt.dbf' size 100M autoextend on next 10M maxsize unlimited extent management local;2、创建用户和密码:create user apimgt identified by a原创 2015-07-06 16:00:08 · 920 阅读 · 0 评论 -
ORACLE批量更新三种方法比较
ORACLE批量更新三种方法比较(2008-05-30 11:55:46) 标签:杂谈 在大型的数据库应用中,我们经常会有针对表与表之间的关键建进行字段更新,那么在这个时候,我们就不能写简单的update来实现更新操作,而要针对具体的数据量来进行批量的update,下面几个例子是常用的SQL,将其做个对比,欢迎大家提出更好,更高效的SQL实现。数据库:Oracle 9i转载 2015-08-07 11:30:27 · 652 阅读 · 0 评论 -
java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误
后台报出如下错误:Caused by: java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误ORA-01000: 超出打开游标的最大数ORA-00604: 递归 SQL 级别 1 出现错误ORA-01000: 超出打开游标的最大数ORA-01000: 超出打开游标的最大数 原因: 这个错误一般出现在利用代码循环执行数转载 2015-08-05 16:46:25 · 9579 阅读 · 1 评论 -
oracle游标
DECLARE -- 声明游标 CURSOR mycur IS SELECT * FROM emp; empInfo emp%ROWTYPE; cou NUMBER;BEGIN -- 游标操作使用循环,但是在操作之前必须先将游标打开 FOR empInfo IN mycur LOOP cou := mycur%ROWCOUNT;原创 2015-08-15 16:38:54 · 393 阅读 · 0 评论 -
存储过程2
1. 创建三张表 dept10,dept20,dept30,表结构和 dept 一致(不拷贝数据)create table dept10 as select * from dept where 1=2;create table dept20 as select * from dept where 1=2;create table dept30 as select * from dep原创 2015-08-15 18:59:21 · 457 阅读 · 0 评论 -
函数1
函数就是一个有返回值的过程。定义一个函数:此函数可以根据雇员的编号查询出雇员的年薪CREATE OR REPLACE FUNCTION myfun(eno emp.empno%TYPE) RETURN NUMBERASrsal NUMBER ;BEGINSELECT (sal+nvl(comm,0))*12 INTO rsal FROM emp WHERE empno=en原创 2015-08-15 19:05:31 · 263 阅读 · 0 评论 -
dba系统相关表
通过查询 dba_users 可以显示所有数据库用户的详细信息; 通过查询数据字典视图 dba_sys_privs,可以显示用户所具有的系统权限; 通过查询数据字典视图 dba_tab_privs,可以显示用户具有的对象权限; 通过查询数据字典 dba_col_privs 可以显示用户具有的列权限; 通过查询数据库字典视图 dba_role_privs 可以显示用户所具有的角色。原创 2015-08-16 10:20:09 · 329 阅读 · 0 评论 -
存储过程1
存储过程是存在数据库中的一个对象下面编写一个过程,要求,可以传入部门的编号,部门的名称,部门的位置,之后调用此过程就可以完成部门的增加操作。CREATE OR REPLACE PROCEDURE myproc(dno dept.deptno%TYPE, name dept.dname%TYPE,原创 2015-08-15 17:43:22 · 613 阅读 · 0 评论 -
oracle 创建用户
创建用户 创建用户 概述:在 oracle 中要创建一个新的用户使用 create user 语句,一般是具有 dba(数据库管理员)的权限才能使用。 create user 用户名 identified by 密码; (oracle 有个毛病,密码必须以字母开头,如果以字母开头,它不会创建用户)alter user 用户名 identified by 新密码概述:一般以原创 2015-08-16 10:05:31 · 305 阅读 · 0 评论 -
数据库管理 -- 管理表空间和数据文件
介绍 表空间是数据库的逻辑组成部分。从物理上讲,数据库数据存放在数据文件中;从逻辑上讲,数据库则是存放在表空间中,表空间由一个或多个数据文件组成。 Oracle 笔记26数据库的逻辑结构 介绍 oracle 中逻辑结构包括表空间、段、区和块。 说明一下数据库由表空间构成,而表空间又是由段构成,而段又是由区构成,而区又是由 oracle 块构成的这样的一种结构原创 2015-08-16 10:21:20 · 385 阅读 · 0 评论 -
sql语句优化
sql语句优化 性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL语句,要设法对之进行简化。常见的简化规则如下: 1)不要有超过5个以上的表连接(JOIN)2)考虑使用临时表或表变量存放中间结果。3)少用子查询4)转载 2015-08-16 21:41:38 · 492 阅读 · 0 评论 -
优化SQL语句 2
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其转载 2015-08-16 21:44:18 · 265 阅读 · 0 评论 -
oracle起定时任务,每隔1秒执行一次
建一个测试表和一个存储过程:[sql] view plain copy print?create table a(a date); create or replace procedure test as begin insert into a values(sysdate); end; 定时任务样板:转载 2017-03-15 14:35:27 · 2050 阅读 · 0 评论