oracle
文章平均质量分 74
lolichan
这个作者很懒,什么都没留下…
展开
-
oracle分区表及对日期存储格式的选择
oracle分区表 通过对分区列的判断,把不同记录放到不同分区中。每个分区都是一个独立的段①range分区 以列值得范围作为分区的划分条件create table test(id number,time date)partition byrange (time)(partition p1 values less than (to_date('2010-10-01','yy...原创 2016-12-16 10:02:40 · 935 阅读 · 0 评论 -
使用escape模糊查询包含关键字符字段
在sql like语句中,比如select * from user where username like '%nihao%',select * from user where username like '_nihao',其中%做为通配符通配多个,_作为通配符通配一个 如果要真的去查询username中含有 % _ 的,需要使他们不再作为通配符将% _ 在like中转...原创 2018-04-25 11:34:45 · 436 阅读 · 0 评论 -
ORACLE中in和exists的区别
转自:https://www.cnblogs.com/iceword/archive/2011/02/15/1955337.html select * from Awhere id in(select id from B)以上查询使用了in语句,in()只执行一次,它查出B表中的所有id字段并缓存起来.之后,检查A表的id是否与B表中的id相等,如果相等则将A表的记录加入结果集中,...原创 2018-04-25 15:33:56 · 77 阅读 · 0 评论 -
oracle中instr函数用法 与 like模糊查询的比较
INSTR用法INSTR方法的格式为:INSTR(源字符串, 要查找的字符串, 从第几个字符开始(默认为1), 要找到第几个匹配的序号(默认为1))返回找到的位置,如果找不到则返回0.例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 在字符串中查找'OR',从第三个字符位置开始查找"OR",取第三个字后第2...原创 2018-04-25 15:37:16 · 2100 阅读 · 0 评论 -
关于oracle中order by使用的一点问题
这里有个A表,有字段S_ID、NAME,现在表中有5条记录S_ID NAME6 设备4端口1速率8 设备2端口1速率10 设备0端口1速率7 设备1端口1速率9 设备3端口1速率 查询语句为“SELECT * FROM A”时,结果如上。 查询语句为“SELECT * FROM A ORDER BY S_ID” ,结果如下6 设备4端口1...原创 2018-04-25 16:03:22 · 528 阅读 · 0 评论 -
oracle相关服务介绍
成功安装Oracle 11g数据库后,你会发现自己电脑运行速度会变慢,配置较低的电脑甚至出现非常卡的状况,通过禁止非必须开启的Oracle服务可以提升电脑的运行速度。那么,具体该怎么做呢? 按照win7 64位环境下Oracle 11g R2安装详解中的方法成功安装Oracle 11g后,共有7个服务,分别为Oracle ORCL VSS Writer Service,OracleD...原创 2018-06-27 18:39:28 · 200 阅读 · 0 评论 -
家庭版CONN / AS SYSDBA命令登录win10系统的Oracle11g, 权限不足的问题
问题:使用CONN / AS SYSDBA(注意空格)命令登录win10系统的Oracle11g数据库,失败,显示没有权限。C:\Users\25836>SQLPLUS/NOLOGSQL*Plus: Release 11.2.0.1.0 Production on 星期三 3月 7 18:18:01 2018Copyright (c) 1982, 2010, Oracle...原创 2018-06-28 16:21:32 · 5509 阅读 · 12 评论 -
tnsping命令介绍
什么是tnsping?可以参考官方文档的具体介绍http://docs.oracle.com/cd/E11882_01/network.112/e41945/connect.htm#NETAG378 tnsping 实际上就是一个小工具,用来决定是否一个Oracle Net 网络服务(service)可以被接受。从某种意义上来说,tnsping 针对的 sqlne...原创 2018-06-28 18:34:39 · 9907 阅读 · 0 评论 -
查看oracle数据库编码及修改编码方法
首先查看oracle数据库的编码SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';PARAMETER--------------------VALUE--------------------NLS_CHARACTERSETAL32UTF8这其来源...原创 2018-07-06 18:35:45 · 6566 阅读 · 0 评论 -
impdp/expdp数据泵使用简介
关于expdp和impdpexp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。expdp和impdp是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。expdp或impdp命令时,可暂不指出用户名/密码@实例名 as...原创 2018-07-19 18:04:09 · 268 阅读 · 0 评论 -
record、varray、table和%type、%rowtype的使用详解
转自:http://www.ibloger.net/article/230.html1 说明1.1 RECORD定义记录数据类型。它类似于java中的类,pl/sql提供了将几个相关的、分离的、基本数据类型的变量组成一个整体的方法,即record复合数据类型。在使用记录数据类型变量时,需要在声明部分先定义记录的组成、记录的变量,然后在执行部分引用该记录变量本身或其中的成员。定...原创 2018-07-30 18:36:40 · 269 阅读 · 0 评论 -
存储过程中的pragma autonomous_transaction作用
转自:https://blog.csdn.net/pan_tian/article/details/7675800 这段时间遇到一个问题,程序里明明插入了一条记录,但在后边的一段Procedure中却查不到刚刚插入的记录,最后发现这个Procedure的定义中加入了PRAGMA AUTONOMOUS_TRANSACTION。PRAGMA AUTONOMOUS_TRANSACTI...原创 2018-07-31 11:47:48 · 9744 阅读 · 1 评论 -
使用plsql同时导入多个sql文件
工作中有时需要导入多个sql文件,一个个导太慢,用plsql可以同时导入多个sql文件 1.假设有三个sql脚本,分别为aa.sql,bb.sql和cc.sql,这三个脚本需要导入数据库 ,它们的路径分别为C:\aa.sql D:\bb.sql 和E:\cc.sq2.创建一个all.sql文件,可以用记事本打开。在里面写上每个sql脚本的路径,并且在路径前加上@,具体如下:...原创 2018-08-01 23:01:53 · 3028 阅读 · 1 评论 -
row_ number over函数的基本用法
函数语法: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)函数作用:从1开始,为按组排序的每条记录添加一个序列号 函数只能用于select和order by子句中 不能用在where子句 不分组排序不进行分组时语法为ROW_NUMBER() OVER(ORDER BY COLUMN),如:有一个表A就一个...原创 2018-08-13 16:26:56 · 2506 阅读 · 0 评论 -
oracle查询中行转列、列转行以及PIVOT、UNPIVOT使用
行转列行转列的大致意思是,将表中多行数据转成一行的多个字段输出。需要行转列的业务逻辑通常是,将表中的一个字段分类统计后作为多个结果字段输出。 一个简单例子:有一个学生表,有姓名、学科、成绩三个字段create table studentScores( username varchar2(20), subject varchar2(30)...原创 2018-08-31 18:34:09 · 2660 阅读 · 0 评论 -
wmsys.wm_concat函数简洁
wmsys.wm_concat是一个类似sum、max等的聚合函数,用于字符串的连接,因此一般要搭配group by 或 over(partition xx)使用。默认用‘,’连接多个字符串例如现在有个学生表,表里有学生名字,学生报名学科两个字段create table student(name varchar2(20),subject varchar2(30));...原创 2018-08-31 19:16:03 · 3040 阅读 · 1 评论 -
listagg/within group方式将多行数据整合成一个列
转自:https://blog.csdn.net/baojiangfeng/article/details/62237522 工作时遇到需求 : 按照某字段进行分组,并把其中一列的值合并显示在一个字段中 如: 1 苹果 1 鸭梨 2 香蕉 2 葡萄 显示为 : 1 苹果\鸭梨 2 香蕉\葡萄经过学习可以使用listagg \ within group1 建表 \ 插入数据cr...原创 2018-09-11 10:21:38 · 1014 阅读 · 0 评论 -
set define off在数据库脚本中的作用
在SQL*Plus中默认的"&"表示替代变量,也就是说,只要在命令中出现该符号,SQL*Plus就会要你输入替代值。这就意味着你无法将一个含有该符号的字符串输入数据库或赋给变量,如字符串“SQL&Plus”系统会理解为以“SQL”打头的字符串,它会提示你输入替代变量Plus的值,如果你输入ABC,则最终字符串转化为“SQLABC”。 set define off 则关闭...原创 2018-03-29 14:43:39 · 386 阅读 · 0 评论 -
oracle中 drop table cascade constraints的作用
当你要drop一个table时,如果删除table的动作会造成trigger或constraint产生矛盾,系统会出现错误警告的讯息而不会允许执行.。一个极简单的例子,例如你有一个员工基本资料表,上面可能有员工编号和员工姓名等字段,另外有一个员工销售表,上面有员工编号和员工销售额两个字段,员工薪资表的员工编号字段为一个foreign key参照到员工基本资料表的员工编号:SQL>...原创 2018-03-29 14:00:25 · 2646 阅读 · 0 评论 -
oracle varchar2长度为什么要做长度限制
oracle中char、varchar、varchar2的区别如下 1. CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。 2.CHAR的...原创 2018-03-22 19:12:01 · 4428 阅读 · 0 评论 -
数据库表设计中的超键、主键、候选键
1.定义 超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键 候选键(candidate key):不含有多余属性的超键称为候选键 主键(primary key):用户选作元组标识的一个候选键程序主键 2.关系图 ...原创 2017-05-25 11:40:39 · 1464 阅读 · 2 评论 -
关系数据库设计三大范式
关系数据库表中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库表设计所需要满足的规范。只有理解数据库表的设计范式,才能设计出高效率、优雅的数据库表,否则可能会设计出错误的数据库.范式对数据库表的规范要求是递增的。目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一...原创 2017-05-25 11:42:23 · 164 阅读 · 0 评论 -
64位系统下使用plsql
win764位+Oracle11g64位下使用PLSQLDeveloper的解决办法 1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0) 下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至...原创 2017-09-19 17:45:16 · 201 阅读 · 0 评论 -
oracle编码问题
跟数据库编码方式相关的有以下三个视图--------------------------------------------------------------------------------nls_database_parameters、nls_instance_parameters、nls_session_parameters ------------------------------...原创 2017-09-19 19:31:56 · 460 阅读 · 0 评论 -
将oracle数据库从服务器上导到本地
1.将服务器上的Oracle数据库导入到本地 在CMD模式下执行以下命令: exp username1/password@服务器端数据库 file=本地硬盘:/文件名.dmp 例如: exp admin/123123@DB file=e:db.dmp2.建立本地数据库(默认已经安装Oracle客户端并且建立了本地数据库)3.创建一个新用户,并赋予DBA权限 //创建一个用户名...原创 2017-12-18 18:06:09 · 656 阅读 · 0 评论 -
plsql连接数据库的两个问题
问题一:plsql登录页面database下拉框空白 解决办法:设置系统环境变量TNS_ADMIN,因为我装了客户端就把值设为E:\app\chan\product\instantclient_11_2\network\admin问题解决问题二:ORA-12154:TNS:无法解析指定的连接标识符,情况如下:1.配置orcle客户端配置新的网络服务添加不了,不过也不影响在tnsnam...原创 2017-12-26 11:50:47 · 498 阅读 · 0 评论 -
ora-00119和ora-00132问题解决方法
转自:http://blog.csdn.net/xb12369/article/details/26720275 oracle11g安装后,本地无法登录! 前提:服务全部打开,监听也配置好了! win7 64位 oracle 11g 简单的sql命令: 先登录到sqlplus: [sql] view plain copy...原创 2018-01-02 17:45:04 · 225 阅读 · 0 评论 -
plsql dev中Dynamic Performance Tables not accessible分析解决
转自:惜分飞个人站(专门进行oracle方面研究)http://www.xifenfei.com/ 相信很多使用plsql dev的朋友多遇到过类此如下面的提示:Dynamic Performance Tables not accessible, Automatic Statistics Disabled for this session Yo...原创 2018-01-24 15:43:38 · 220 阅读 · 0 评论 -
oracle中sid和service_name的区别
转自:http://blog.csdn.net/zhangzl1012/article/details/50752572 先来讲一个小故事,2015年6月份,有个客户迁移了数据库,由单实例数据库变成了RAC。JAVA应用程序出现了无法连接数据库的情况,但是PL/SQL能连接上数据库。由于项目比较庞大,虽然在半夜切换的,但是也不能接受长时间的业务停顿。当时,我对ORACLE技术也只是略知...原创 2018-02-26 18:37:27 · 171 阅读 · 0 评论 -
oracle中数据库和实例的概念
什么是数据库,其实很简单,数据库就是存储数据的一种媒介。比如常用的文件就是一种,在Oracle10G中,数据的存储有好几种。第一种是文件形式,也就是在你的磁盘中创建一批文件,然后在这些文件中存储信息。第二种就是磁盘阵列形式,这个是什么意思呢,这个就是说明数据库不是存放为某个文件,而是把一个或者多个磁盘格式化成Oracle的一种格式了,等于整个磁盘就是存放Oracle数据库的,不能作为别...原创 2018-02-27 10:49:04 · 1409 阅读 · 0 评论 -
listener.ora/sqlnet.ora/tnsnames.ora配置文件
一、sqlnet.ora sqlnet.ora用在oracle client端,用于配置客户端连接服务端oracle的相关参数。读取该文件路径与tnsnames.ora一样,如果装了oracle服务端默认是%ORACLE_HOME%\NETWORK\ADMIN,可以通过TNS_ADMIN环境变量配置。 1).NAMES.DEFAULT_DOMAIN:域名domain定义,...原创 2018-02-27 15:07:47 · 330 阅读 · 0 评论 -
oracle rownum的使用和它的陷阱
由于想转的文章内容包含敏感词(不知道为什么)这里贴出地址http://www.blogjava.net/conans/articles/219693.html原创 2018-03-01 10:14:37 · 620 阅读 · 0 评论 -
update 字段不变时返回值
mysql执行一句update语句,当修改内容与原数据一致时,mysql本身返回的 受影响行数为0 ,在 控制台或者 客户端如navicat中都可看到但jdbc/mybatis 返回的却是1,返回的是sql语句的匹配行数。 oracle不管从哪查都是返回1条记录被更新。 但是针对标准SQL,不涉及具体数据库,update t_order set order_mark = 2...原创 2018-03-14 18:38:37 · 2807 阅读 · 0 评论 -
sql where要放在join后
如题原创 2018-03-20 18:55:02 · 534 阅读 · 0 评论 -
用dump函数查看oracle不同数据类型的存储方式
一、函数标准格式: DUMP(expr[,return_fmt[,start_position][,length]]) 基本参数时4个,最少可以填的参数是0个。当完全没有参数时,直接返回null。另外3个参数也都有各自的默认值:expr:这个参数是要进行分析的表达式(数字或字符串等,可以是各个类型的值)return_fmt:指返回参数的格式,有5种用法: ...原创 2018-03-20 22:47:34 · 219 阅读 · 0 评论 -
oracle date和timestamp介绍
1.基本概念时区 :time zone 1884年国际经线会议规定,全球按经度分为24个时区,每区各占经度15°。以本初子午线为中央经线的时区为零时区,由零时区向东、西各分12区,东、西12区都是半时区,共同使用180°经线的地方时。CST :China Standard Time UTC+8:00 中国标准时间(北京时间),在东八区UTC :Universal Time ...原创 2018-03-20 23:06:40 · 577 阅读 · 0 评论 -
存储过程
简介存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,中间再加点逻辑控制。优点:1.存储过程只在创建时编译一次,而程序中的sql语句调用都要重新编译(不绝对),可提高执行速度2.对数据库进行复杂操作时,存储过程将多条语句组合起来,因此程序只需进行一次数据库连接,节省时间,同时也可与数据库提供的事务处理结合使用3.存储过程可...原创 2018-10-16 18:19:14 · 312 阅读 · 0 评论