![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
布拉格的爱
哪有什么岁月静好,只不过是有人替你负重前行
展开
-
Oracle中like模糊查询及通配符
like 模糊查询这就要用的like模糊查询了,其通配符如下:% 表示零个或多个字符(1)_ 单一任意字符(2)\ 特殊字符[ ] 在某种范围内的字符,如[0-9]、[abcd][^ ] 不在某种范围内的字符,如[0-9]、[abcd]其中条件模糊查询,Oracle数据库中常用的有下面两种方式:1、% 表示任意零个或多个字符。可匹配任意类型和长度的字符,一般使用两个百分号(%%)表示。如下示例:把其中带有S的名字全部查询了出来。2、_ 表示任意单个字符。匹配单个任意字符,常用来限制要查询原创 2021-08-01 21:37:22 · 2597 阅读 · 0 评论 -
oracle (+) 用法
select * from user_info a left join user_address b on a.address_id = b.idselect * from user_info a ,user_address b where a.address_id=b.id(+)原创 2021-06-06 20:34:14 · 235 阅读 · 0 评论 -
Oracle 11g导出空表、少表的解决办法
批量处理空表 (1)首先使用下面的sql语句查询一下当前用户下的所有空表select table_name from user_tables where NUM_ROWS=0; (3)然后用一下SQL语句执行查询select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 (3)假设我们这里有空表TBL_1,TBL_2,TBL_3,TBL_4,则查询结果...原创 2021-02-02 16:36:56 · 113 阅读 · 0 评论 -
oracle and or 优先级
在项目中遇到这样一个问题,困扰了我几天 SQL语句如下:select * from t_instance where instance_code like '%姓名%' or instance_name '%姓名%' and classfired='cloumn'我想要的结果的条件是:1. instance_code like '%姓名%' or instance_name '%姓名%' 2. classfired='cloumn'...原创 2020-12-27 19:29:28 · 2984 阅读 · 1 评论 -
如何利用SQL插入空白列
1、select case when ISNUMERIC(字段)=1 then 汉字 else 字段 end from 表名;2、select 字段,NULL as 空白列 from 表名;原创 2020-12-06 09:46:34 · 3907 阅读 · 0 评论 -
start with connect by prior用法
(1)语法: select * from 表名where 条件1start with 条件2 connect by prior 当前表字段=级联表字段对数据的过滤条件where加载start前面(2) START WITH CONNECT BY PRIOR用于组织结构查询、省市查询、多级菜单查询(商城系统)统计子节点的数量,通过父级id查询所有的子级、以及通过当前id查询父级。...原创 2020-11-30 15:29:44 · 433 阅读 · 0 评论 -
关于Oracle创建表、删除表、修改表(添加字段、修改字段、删除字段)语句的简短总结。
Oracle创建表: create table 表名 ( 字段名1 字段类型 默认值 是否为空 , 字段名2 字段类型 默认值 是否为空, 字段名3 字段类型 默认值 是否为空, ...... ); 创建一个user表: create table user ( id number(6) primary key, ---主键...转载 2019-10-21 12:06:29 · 150 阅读 · 0 评论 -
ORACLE - 未找到任何数据
create or replace procedure pro_error_dataisd_sql varchar(100);d_name varchar(100);d_count number;begin for rs in(select name from testa where id= '1') loop d_sql:='select name fro...原创 2019-04-20 23:23:16 · 2224 阅读 · 0 评论 -
存储过程中Create Table权限不足问题
一、存储过程中创建表没有权限create or replace procedure p_pname isbeginExecute Immediate 'create table tb(id number(1))';end p_pname;Oracle8i以前的版本,所有已编译存储对象,包括packages, procedures, functions, trig...转载 2019-04-20 23:33:46 · 2614 阅读 · 0 评论 -
Oracle分页查询排序数据重复问题
参考资料: http://docs.oracle.com/database/122/SQLRF/ROWNUM-Pseudocolumn.htm#SQLRF00255 http://blog.csdn.net/u010395242/article/details/52047341在采用以下所示的方式:SELECT * FROM (SELECT row_.*, rownu...转载 2019-07-15 14:08:01 · 634 阅读 · 0 评论 -
union和union all的区别
1, union和union all的区别是,union会自动压缩多个结果集合中的重复结果, 而union all则将所有的结果全部显示出来,不管是不是重复。如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的 作用是将多个结果合并在一起显示出来。Union:对两个结果...原创 2019-07-21 14:28:32 · 521 阅读 · 0 评论 -
Oracle Not In 导致有存在Null的数据被过滤
解决方法: WHERE NVL(ID,0) NOT IN ('1') 注:红字部分不相等就可以原创 2019-08-20 10:31:55 · 1422 阅读 · 0 评论 -
基于oracle的sql优化
一.编写初衷描述 在应有系统开发初期,由于数据库数据较少,对于sql语句各种写法的编写体现不出sql的性能优劣,随着数据的不断增加,出现海量数据,劣质sql与优质sql在执行效率甚至存在百倍差距,可见sql优化的重要性 二.Sql语句性能优化 2.1 认识Oracle的执行过程2.2 Oracle优化法则---漏斗法则2.3 Oracle ...转载 2019-09-26 20:37:01 · 365 阅读 · 0 评论 -
ORACLE WITH AS 用法
With查询语句不是以select开始的,而是以“WITH”关键字开头 可认为在真正进行查询之前预先构造了一个临时表,之后便可多次使用它做进一步的分析和处理WITH Clause方法的优点 增加了SQL的易读性,如果构造了多个子查询,结构会更清晰;更重要的是:“一次分析,多次使用”,这也是为什么会提供性能的地方,达到了“少读”的目标。 第一种使用子查询的方法表被扫...转载 2019-01-30 20:45:44 · 128 阅读 · 0 评论 -
浅谈Oracle中exists与in的执行效率问题
in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询。一般大家都认为exists比in语句的效率要高,这种说法其实是不准确的,这个是要区分环境的。exists对外表用loop逐条查询,每次查询都会查看exists的条件语句,当 exists里的条件语句能够返回记录行时(无论记录行是的多少,只要能返回),条件就为真,返回当前loop到的这条...转载 2019-01-29 21:26:36 · 8096 阅读 · 0 评论 -
存储过程
1,游标的用法 for cr in (select a.name,a.id1 from TESTTABLE a) loop dbms_output.put_line('姓名'||cr.name||'+'||cr.id1); end loop;2,if else 的用法 if 34>78 then dbms_output.put...原创 2017-12-08 14:46:57 · 140 阅读 · 0 评论 -
Oracle和MySQL在使用上的区别
1、 Oracle是大型数据库而MySQL是中小型数据库,MySQL是开源的而Oracle的价格非常高。2、 Oracle支持大并发,大访问量。3、 安装所用的空间差别也是很大,MySQL安装完后用100多M而Oracle有3G左右,而且使用的时候Oracle占用特别大的内存空间和其他机器性能。4、 在使用上的一些区别:1)、主键:MySQL一般使用自动增长类型,在创建表时,只要指定表的主...转载 2018-03-22 14:43:07 · 461 阅读 · 0 评论 -
数据比对的过程
数据比对的字段select replace(RULES, '||', ',') as RULES, t.id from Base_Dep_RULES t where t.sys_credit_corpus_id = 'L' and t.sys_gov_dep_id = '3d0d3d76e2ee48c48d5b3b...原创 2018-06-05 11:52:31 · 1267 阅读 · 0 评论 -
Oracle常用的函数
v_idx integer; v_str varchar2(500); v_strs_last varchar2(4000) := p_value; fi_table RETURN_TYPE.TYPE_SPLIT:= RETURN_TYPE.TYPE_SPLIT();begin loop v_idx := instr(v_strs_last, p_split); exi...原创 2018-06-05 11:57:43 · 134 阅读 · 0 评论 -
通过存储过程批量删除数据
1,存储过程CREATE OR REPLACE PROCEDURE "PUBLIC"."DELETE_DEP_TEBLE"("TABLE_TYPE" CHARACTER VARYING(10 CHAR)) ASv_sql varchar2(4000) default ''; --动态sql语句begin for rs in ( select tablena...原创 2018-06-01 08:56:47 · 5384 阅读 · 0 评论 -
the account is locked怎么解决
在oracle中,连续十次尝试登陆不成功,那么此账户将会被锁定(lock)。当使用被锁定的账户登录时,系统会报错:ORA-28000: the account is locked。本文描述次错误的解决思路。方法/步骤1 使用system或者sys账户登录,注意请以管理员身份登录。Sytem和sys的默认密码请在网上查找。本文以sys账户为例,sys的默认密码是:change_on_insta...原创 2018-08-07 14:24:28 · 12118 阅读 · 0 评论 -
oracle视图详解
Oracle视图详解 一. 视图的定义视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候,只是重新执行SQL。 视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。 视图的定义存在数据库中,与此定义相...转载 2018-08-03 14:24:40 · 787 阅读 · 0 评论 -
Oracle常用的函数
(1)//判断表是否存在CREATE or REPLACE FUNCTION "PUBLIC"."F_IS_TABLE_EXIST"("V_TABLE_EN_NAME" CHARACTER VARYING(8000 CHAR)) RETURNS INTEGER AS i_count int default 0;begin select count(1) into i_count f...原创 2018-09-28 15:26:00 · 92 阅读 · 0 评论 -
Oracle 动态SQL在存储过程中的使用和执行
Excute immediate 动态SQL语句 using 绑定参数列表v_count number default 0 ;v_sql:=' select count(0) from '|| rs.tableName ||' where IS_PEAT=1 and dep_id=:1 AND shield_sate !=...原创 2018-09-29 15:25:33 · 2841 阅读 · 0 评论 -
创建Oracle数据源
/*分为四步 *//*第1步:创建临时表空间 */create temporary tablespace kaohetbs2tempfile 'D:\Oracle\oradata\orcl\kaohetbs2.dbf'size 50m autoextend on next 50m maxsize 20480m extent management local; /...原创 2018-10-15 18:18:12 · 905 阅读 · 0 评论 -
OVER(PARTITION BY)函数介绍
最近在项目中遇到了对每一个类型进行求和并且求该类型所占的比例,当时考虑求出每种类型的和,并在java中分别对每一种类型的和与总和相除求出所占比例。后来,想到这样有点麻烦,并且项目中持久层使用的是iBatis框架,所有考虑从SQL方面进行入手来简化这个问题。 后来SQL的解决方法就为:1 SELECT T.CHANNEL AS PATTERN,2 COUNT(T.T...转载 2018-12-15 18:06:53 · 317 阅读 · 0 评论 -
oracle中文全文索引简单使用
应用场景,对千万数据进行多条件搜索时,一般的like,instr效率就很慢,查了一下oracle的全文索引不错,这里简单说明一下中文全文检索的使用中文全文索引创建如果再创建时报错,可能是没有权限,用DBA账号登录,赋予登录账号ctx_ddl权限select t.*, t.rowid from T2_TEMP t for updateSELECT t.id, t.rn FROM ...转载 2018-12-15 18:10:10 · 277 阅读 · 0 评论 -
分组函数
select sa.areaCode as "areaCode", sa.areaScore as "areaScore", sa.upload_year as "uploadYear", sa.upload_quarter as "uplo原创 2017-07-19 17:50:53 · 246 阅读 · 0 评论