ORACLE
文章平均质量分 83
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
No Silver Bullet
业精于勤荒于嬉,行成于思毁于随。
学业由于勤奋而专精,由于玩乐而荒废;德行由于独立思考而有所成就,由于因循随俗而败坏。
——出自(唐)韩愈《进学解》
展开
-
ORACLE进阶(十六)64位win7下PL/SQL Developer 报“ORA-12154: TNS:无法解析指定的连接标识符”问题的一个解决办法
ORACLE进阶(十六)64位win7下PL/SQL Developer 报“ORA-12154: TNS:无法解析指定的连接标识符”问题的一个解决办法  在64位win7上装了32位oracle10g 以后又出现了新的问题:“ORA-12154: TNS:无法解析指定的连接标识符”.   在使用oracle自带的sqlplus连接本机或者远程的ora...原创 2018-08-26 17:03:09 · 1985 阅读 · 0 评论 -
ORACLE进阶(十四)![CDATA[]]和转义字符
@[TTOC]在DAO层,与实体类相关的SQL语句通常配置在XML文件中,如下SQL语句配置:被这个标记所包含的内容将表示为纯文本,比如表示文本内容“”。此标记用于xml文档中,我们先来看看使用转义符的情况。我们知道,在xml中,””、”&”等字符是不能直接存入的,否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将其转义为实体,如””、””、””,这样才能保存进xml文档。在使用程序读取的时候,解析器会自动将这些实体转换回””、”&”。举个例子:在XML中,需要转义的字......原创 2019-09-15 09:38:55 · 7718 阅读 · 1 评论 -
ORACLE进阶(一) 通过EXPDP IMPDP命令实现导dmp
关于文件我们用的还是比较多的,文件是作为导入和导出表使用的文件格式。其中,主要用于查看生成的文件与日志文件;主要用于执行shell脚本。文件导出用的比较多的一般是三种:导出整个数据库实例下的所有数据、导出指定用户的所有表、导出指定表。相关参数以及导出示例:用于指定目录对象名称。需要注意,目录对象是使用语句建立的对象,而不是目录。该选项用于指定要导出的内容。默认值为。当设置为时,将导出对象定义及其所有数据。为时,只导出对象数据,为时,只导出对象定义。用于指定转储文件的名称,默认名称为。原创 2017-12-24 16:09:15 · 12314 阅读 · 0 评论 -
ORACLE进阶(二)视图详解
视图(),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑定义。每次使用的时候,只是重新执行。视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中。通过视图看到的数据存放在基表中。视图看上去非常象数据库的物理表,对它的操作同任何其它的表一样。当通过视图修改数据时,实际上是在改变基表中的数据;相反地,基表数原创 2018-01-04 22:34:05 · 4055 阅读 · 0 评论 -
ORACLE进阶(三)数据字典详解
数据字典是存放有关数据库信息的地方,其用途是用来描述数据。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。 中的数据字典有静态和动态之分。静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行性能,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。以下分别就这两类数据字典来论述。这类数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直原创 2018-01-28 14:46:28 · 3158 阅读 · 2 评论 -
ORACLE进阶(四)表连接讲解
在工作过程中,经常会查看SQL语句,有些SQL语句写的异常复杂,当涉及到多表操作时,表连接语句当属最常见。例如内连接、外连接、自连接。Oracle 表之间的连接分为三种:SQL的标准语法:其中,注意:逻辑运算符返回满足第一个(顶端)输入与第二个(底端)输入联接的每一行。这个和用select查询多表是一样的效果,所以内连接用的很少。还有一点要说明的就是Join 默认就是inner join。 所以我们在写内连接的时候可以省略inner 这个关键字。1.2.1 先创建2张测试表并插入数据:1.2.3 用内链原创 2018-03-03 11:57:53 · 2515 阅读 · 0 评论 -
ORACLE进阶(五)SCHEMA解惑
从定义中我们可以看出为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个,里面包含了各种对象如。一个用户一般对应一个,该用户的名等于用户名,并作为该用户缺省。这也就是我们在企业管理器的方案下看到名都为数据库用户名的原因。数据库中不能新创建一个,要想创建一个,只能通过创建一个用户的方法解决(Oracle中虽然有语句,但是它并不是用来创建一个的),在创建一个用户的同时为这个用户创建一个与用户名同名的,并原创 2018-01-28 15:58:13 · 2187 阅读 · 0 评论 -
ORACLE进阶(六)ORACLE expdp/impdp详解
提供了新的导入导出工具,数据泵。Oracle官方对此的形容是:其中Very High-Speed是亮点。先说数据泵提供的主要特性(包括,但不限于):对象是版本提供的一个新功能。他是一个指向,指向了操作系统中的一个路径。每个Directory都包含 Read,Write两个权限,可以通过Grant命令授权给指定的用户或角色。拥有读写权限的用户就可以读写该Directory对象指定的操作系统路径下的文件。这个xxx.par即是编辑的参数文件。注意,在这个命令行后面,同样可以再跟别的参数, 甚至是在par参数文原创 2018-01-28 21:58:18 · 5169 阅读 · 0 评论 -
ORACLE进阶(七)存储过程详解
所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中。在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数来调用并执行它,从而完成一个或一系列的数据库操作。存储过程包含三部分:过程声明,执行过程部分,存储过程异常。2.2 带参存储过程实例2.3 带参数存储过程含赋值方式其中参数IN表示输入参数,是参数的默认模式。表示返回值参数,类型可以使用任意Oracle中的合法类型。OUT模式定义的参数只原创 2018-02-25 21:47:23 · 10135 阅读 · 0 评论 -
ORACLE进阶(八)存储过程案例详解
2017.7.12入职以来,自己处于不断学习状态。在工作过程中,积累工作经验十分重要。尤其是一些业务知识自己需要不断充电。之前接到一个写批量小程序的任务,由于自己之前并未接触过Oracle,更别提什么PL/SQL,存储过程了,自己刚开始也是不知道从何处着手,但接到了任务,自己也只能硬着头皮上了,要不然呢?!首先需要了解存储过程是什么?如何在PL/SQL中执行?存储过程、函数、包之间的关系是怎样的?有关存储过程的学习,请参考博文《ORACLE进阶(七)存储过程详解》。下面结合实际应用场景,讲解下存储过程的具体原创 2020-09-27 09:48:22 · 2921 阅读 · 0 评论 -
ORACLE进阶(十)start with connect by 实现递归查询
在工作中,查看到类似于如下的SQL语句:我们经常会将一个比较复杂的目录树存储到一个表中。或者将一些部门存储到一个表中,而这些部门互相有隶属关系。这个时候你就会用到。oracle 提供了 语法结构可以实现递归查询。 是结构化查询中用到的,其基本语法是:例:简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段: org_id,parent_id那么通过表示每一条记录的parent是谁,就可以形成一个树状结构。 用上述语法的查询可以取得这棵树的所有记录。 其中:例如:没有加的查原创 2020-04-14 14:23:31 · 2360 阅读 · 0 评论 -
ORACLE进阶(十三)using关键字学习
在工作中,查看到类似于如下的SQL语句:标准可以使用关键字来简化连接查询,但是只是在查询满足下面两个条件时,才能使用关键字进行简化。例如:使用关键字,如下:如上述语句执行的结果与自然连接的结果相同。使用关键字简化连接时,需要注意以下几点:形式如下:上述的语句相当于下面的语句:如果对多个表进行检索,就必须多次使用关键字进行指定,形式如下:上述的语句相当于下面的语句:二、再议using在中的连接中使用关键字,相对于。在前面提到,如果是使用,并且两张表中如果有多个字段是具有相同的名称和数据类型,那么原创 2020-04-14 14:18:14 · 3380 阅读 · 0 评论 -
ORACLE进阶(十二)union(all)学习总结
在工作中,查看到类似于如下的SQL语句::对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;:对两个结果集进行并集操作,包括重复行,不进行排序;1. 指令的目的是将两个SQL语句的结果合并起来,可以查看你需要查询结果例如:二、应用注意事项用法中,两个 语句的字段类型匹配,并且字段的类型要相同。如上面的例子,在实际的软件开发过程,会遇到更复杂的情况,具体请看下面的额子这句话的意思是将两个SQL语句 查询出来,查询的条件就是看XMDA表中额FL_ID是否和主表FLDA里的FL_I原创 2020-04-14 14:12:45 · 2226 阅读 · 2 评论 -
ORACLE进阶(十一)MERGE INTO学习总结
在工作中,查看到类似于如下的SQL语句:语句是新增的语法,用来合并和语句。通过语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行,无法匹配的执行。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于。例如,有一个表T,有两个字段a、b,我们想在表T中做,如果条件满足,则更新T中b的值,否则在T中插入一条记录。在Microsoft的SQL语法中,很简单的一句判断就可以了,中的语法如下:Oracle中,要实现相同的功能,要用到来实现(Oracle 9i引入的功能),其语法如下原创 2020-04-14 14:04:09 · 2490 阅读 · 0 评论 -
ORACLE进阶(十五)详解Oracle DELETE和TRUNCATE 的区别
ORACLE进阶(十五)详解Oracle DELETE和TRUNCATE 的区别语法delete from table aa truncate table aa 区别1.delete from后面可以写条件,truncate不可以。2.delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日至里面只记录页释放,简言......原创 2018-07-29 22:32:49 · 1936 阅读 · 0 评论