随笔分类 - oracle初级
摘要:这两个函数是差不多的,但由于优化方案不同,通常NOT Exists要比NOT IN要快,因为NOT EXISTS可以使用结合算法二NOT IN就不行了,而EXISTS则不如IN快,因为这时候IN可能更多的使用结合算法。 Select * from tableA Where exists(Select...
阅读全文
摘要:where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。一、不用where1=1在多条件查询中的困扰 举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键词,那么,按平时的查询语句的动态构造,代码大体如下: str...
阅读全文
摘要:/*TRUNC(number,num_digits)Number 需要截尾取整的数字。Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。TRUNC()函数截取时不进行四舍五入*/--Oracle trunc()函数的用法/**************日期******...
阅读全文
摘要:1、为什么要使用包? 答: 在一个大型项目中,可能有很多模块,而每个模块又有自己的过程、函数等。而这些过程、函数默认是放在一起的(如在PL/SQL中,过程默认都是放在一起 的,即Procedures中),这些非常不方便查询和维护,甚至会发生误删除的事件。所以通过使用包就可以分类管理过程和函数。 而且...
阅读全文
摘要:比如在Northwind数据库中有一个查询为SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID) 这里面的E...
阅读全文
摘要:就是你一个存储过程当中 创建了一个表 table_a 然后要用insert into将其他的数据插入到这个table_a当中,但是因为你在创建过程的时候 table_a还不存在,过程就会显示有编译错误,因为table_a不存在必然导致过程无法执行,所以无法编译成功,而把insert into语句加如...
阅读全文
摘要:DECODE是Oracle公司独家提供的功,该函数功能强大,下文对DECODE函数的语法作了详尽的阐述,供您参考学习。含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF...
阅读全文
摘要:前言:两台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。1.查看dblinkselect owne...
阅读全文
摘要:实现方法: 1、 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。 2、 开始->程序->Oracle - OraHome81->Oracle Installation Products-> Universal Installer 卸装所有Oracle产品,但Universa...
阅读全文
摘要:1、控制文件和日志文件控制文件(Control File)是一个很小的二进制文件,用于描述和维护数据库的物理结构。在Oracle数据库中,控制文件相当重要,它存放有数据库中数据文件和日志文件的信息。Oracle数据库在启动时需要访问控制文件,在数据库的使用过程中,数据库需要不断更新控制文件,由此可见...
阅读全文
摘要:前言:oracle安装完成后,可以执行【控制面板】|【管理工具】|【服务】命令,打开【服务】窗口,在该窗口中可以查看Oracle服务信息。OracleDBConsoleorcl OEM控制台的服务进程。OracleJobScheduler 定时器的服务进程。其中为创建该数据库实例时为其配置的实例名。...
阅读全文
摘要:前言:Oracle数据库自带了许多用户,例如system、sys和scott等,但是默认情况下,Oracle只对其中5个用户进行了解锁,这5个用户分别是:SYS、SYSTEM、DBSNMP、SYSMAN和MGMT_VIEW,而其他用户则处于锁定状态。为了后面Oracle的学习,有必要了解Oracle...
阅读全文
摘要:在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器。在数据库系统中无论是存储过程还 是触发器,都是通过SQL 语句和控制流程语句的集合来完成的。相对来说,数据库系统中的触发器也是一种存储过程。存储过程在数据库中运算时自动生成各种执行方式,因此,大大提高了 对其运行时的执行速度。在大型...
阅读全文
摘要:Oracle存储过程可以有无参数存储过程和带参数存储过程。一、无参程序过程语法 create or replace procedure NoParPro as ; begin ; exception //存储过程异常 ; end; 二、带参存储过程实例 createorrep...
阅读全文
摘要:1、nvl(arg,value):代表如果前面的arg的值为null那么返回的值为后面的value,如果value也是null的话,返回null。2、substr('kong',startPosition,[Length]): startPosition如果为负数,表示起始位置从后往前,而此值为0或...
阅读全文
摘要:在开始讲解Oracle序列使用方法之前,先加一点关于Oracle client sqlplus的使用,就是如果执行多行语句的话一定要加“/”才能表示结束,并执行!本篇文章的主题是通过创建Oracle序列和触发器实现表的主键自增。1.首先创建序列,Oracle序列的语法格式为:CREATE SEQUE...
阅读全文
摘要:一、触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。然后,触发器的触发条件其实在你定义的时候就已经设定好了。这里面需要说明一下,触发器可以分为语句级触发器和行级触发器。详细的介绍可以参考网上的资料,简单的说就是语句级...
阅读全文
摘要:一、介绍视图是一张虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。(视图不是真实存在磁盘上的)二、视图与表的区别1、表需要占用磁盘空间,视图不需要2、视...
阅读全文
摘要:一、例外分类oracle将例外分为预定义例外、非预定义例外和自定义例外三种。1)、预定义例外用于处理常见的oracle错误。2)、非预定义例外用于处理预定义例外不能处理的例外。3)、自定义例外用于处理与oracle错误无关的其它情况。下面通过一个小案例演示如果不处理例外看会出现什么情况?编写一个存储...
阅读全文
摘要:一、无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解。首先是掌握最简单的存储过程,无返回值的存储过程。 案例:现有一张表book,表结构如下:书号、书名、出版社。CREATE TABLE book( ID NUMBER(4),...
阅读全文

浙公网安备 33010602011771号