摘要:
一、pl/sql的进阶--控制结构 在任何计算机语言(c,java,pascal)都有各种控制语句(条件语句,循环结构,顺序控制结构...),在pl/sql中也存在这样的控制结构。 在本部分学习完成后,希望大家达到: 1.使用各种if语句 2.使用循环语句 3.使用控制语句——goto和null(goto语句不推荐使用); 二、条件分支语句 pl/sql中提供了三种条件分支语句if—t... 阅读全文
摘要:
一、无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解。首先是掌握最简单的存储过程,无返回值的存储过程。 案例:现有一张表book,表结构如下:书号、书名、出版社。 CREATE TABLE book( ID NUMBER(4), book_name VARCHAR2(30), publishing VAR... 阅读全文
摘要:
包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。 1)、我们可以使用create package命令来创建包,如: i、创建一个包sp_package ii、声明该包有一个过程update_sal iii、声明该包有一个函数annual_income --声明该包有一个存储过程和一个函数 阅读全文
摘要:
一、变量介绍 在编写pl/sql程序时,可以定义变量和常量;在pl/sql程序中包括有: 1)、标量类型(scalar) 2)、复合类型(composite) --用于操作单条记录 3)、参照类型(reference) --用于操作多条记录 4)、lob(large object) 二、标量(scalar)——常用类型 1)、在编写pl/sql块时,如果要使用变量,需在定义部分定义变量... 阅读全文
摘要:
一、pl/sql developer开发工具 pl/sql developer是用于开发pl/sql块的集成开发环境(ide),它是一个独立的产品,而不是oracle的一个附带品。 二、pl/sql介绍 开发人员使用pl/sql编写应用模块时,不仅需要掌握sql语句的编写方法,还要掌握pl/sql语句及语法规则。pl/sql编程可以使用变量和逻辑控制语句,从而可以编写非常有用的功能模块。... 阅读全文
摘要:
存储过程用于执行特定的操作,当建立存储过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分;通过使用输出参数,可以将执行部分的数据传递到应用环境。在sqlplus中可以使用create procedure命令来建立过程。 实例如下: 1.请考虑编写一个存储过程,可以输入雇员名,新工资,用来修改雇员的工资 --根据雇员名去修改工资 ... 阅读全文
摘要:
函数用于返回特定的数据,当建立函数时,在函数头部必须包含return子句。而在函数体内必须包含return语句返回的数据。我们可以使用create function来建立函数。 1)、接下来通过一个案例来模拟函数的用法 复制代码 --输入雇员的姓名,返回该雇员的年薪 CREATE FUNCTION annual_incomec(uname VARCHAR2) RETU... 阅读全文
摘要:
一、pl/sql 是什么 pl/sql(procedural language/sql)是oracle在标准的sql语言上的扩展。 pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。 二、为什么要学pl/sql 1.提高应用程序的运行性能 2.模块化的设计思想(分页的过程,订单的过程,转账的... 阅读全文
摘要:
一、介绍 这一部分我们主要看看oracle中如何管理权限和角色,权限和角色的区别在哪里。 当刚刚建立用户时,用户没有任何权限,也不能执行任何操作。如果要执行某种特定的数据库操作,则必须为其授予系统的权限;如果用户要访问其它方案的对象,则必须为其授予对象的权限。为了简化权限的管理,可以使用角色。这里我们会详细的介绍。 二、权限 权限是指执行特定类型sql命令或是访问其它方案对... 阅读全文
摘要:
一、介绍 角色就是相关权限的命令集合,使用角色的主要目的就是为了简化权限的管理。 假定有用户a,b,c为了让他们都拥有如下权限 1. 连接数据库 2. 在scott.emp表上select,insert,update。 如果采用直接授权操作,则需要进行12次授权。 因为要进行12次授权操作,所以比较麻烦喔!怎么办? 如果我们采用角色就可以简化: 首先将creat session,select o... 阅读全文
摘要:
一、维护数据的完整性 数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则,在oracle中,数据完整性可以使用约束、触发器、应用程序(过程、函数)三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据完整性的首选。 二、约束 约束用于确保数据库数据满足特定的商业规则。在oracle中,约束包括:not null、 unique, primary... 阅读全文
摘要:
一、管理索引-原理介绍 索引是用于加速数据存取的数据对象。合理的使用索引可以大大降低i/o次数,从而提高数据访问性能。索引有很多种我们主要介绍常用的几种: 为什么添加了索引后,会加快查询速度呢? 二、创建索引 1)、单列索引 单列索引是基于单个列所建立的索引 语法:create index 索引名 on 表名(列名); eg、create index nameI... 阅读全文
摘要:
一、概念 数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息。 动态性能视图记载了例程启动后的相关信息。 二、数据字典 1)、数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户。 2)、用户只能在数据字典上执行查询操作(select语句),而其维护和修改是由系统自动完成的。 3)、这里我们谈谈数据字典的组成:... 阅读全文
摘要:
一、概念 表空间是数据库的逻辑组成部分。 从物理上讲,数据库数据存放在数据文件中; 从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成。 二、数据库的逻辑结构 oracle中逻辑结构包括表空间、段、区和块。 说明一下数据库由表空间构成,而表空间又是由段构成,而段又是由区构成,而区又是由oracle块构成的这样的一种结构,可以提高数据库的效率。 ... 阅读全文
摘要:
一、数据库管理员 每个oracle数据库应该至少有一个数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分担不同的管理职责。那么一个数据库管理员的主要工作是什么呢: 1.安装和升级oracle 数据库 2.建库,表空间,表,视图,索引… 3.制定并实施备份和恢复计划 4.数据库权限管理,调优,故障排除 5.对于高级dba,要求能参与项目开发,会... 阅读全文
摘要:
一、介绍 逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程。 逻辑恢复是指当数据库对象被误操作而损坏后使用工具import利用备份的文件把数据对象导入到数据库的过程。 物理备份即可在数据库open的状态下进行也可在关闭数据库后进行,但是逻辑备份和恢复只能在open的状态下进行。 二、备份(导出) 导出分为导出表、导出方案、导出数据库三种方式。 导出使用exp命令来完... 阅读全文
摘要:
一、什么是事务 事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml(数据操作语言,增删改,没有查询)语句要么全部成功,要么全部失败。 如:网上转账就是典型的要用事务来处理,用于保证数据的一致性。 二、事务和锁 当执行事务操作时(dml语句),oracle会在被作用的表上加锁,防止其它用户修改表的结构。这里对我们的用户来讲是非常重要的。 三、提交事务 ... 阅读全文
摘要:
一、字符函数 字符函数是oracle中最常用的函数,我们来看看有哪些字符函数: lower(char):将字符串转化为小写的格式。 upper(char):将字符串转化为大写的格式。 length(char):返回字符串的长度。 substr(char, m, n):截取字符串的子串,n代表取n个字符的意思,不是代表取到第n个 replace(char1, search_string, repl... 阅读全文
摘要:
oracle的分页一共有三种方式 方法一 根据rowid来分 复制代码 SELECT * FROM EMP WHERE ROWID IN (SELECT RID FROM (SELECT ROWNUM RN, RID FROM (SELECT ROWID RID, EMPNO FROM EMP ORDER BY EM... 阅读全文
摘要:
1、使用逻辑操作符号 问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们的姓名首字母为大写的J? select * from emp where (sal > 500 or job = 'MANAGER') and ename like 'J%'; 2、使用order by字句 默认asc 问题:如何按... 阅读全文
摘要:
一、表名和列名的命名规则 1)、必须以字母开头 2)、长度不能超过30个字符 3)、不能使用oracle的保留字 4)、只能使用如下字符 a-z,a-z,0-9,$,#等 二、数据类型 1)、字符类 char 长度固定,最多容纳2000个字符。 例子:char(10) ‘小韩’前四个字符放‘小韩’,后添6个空格补全,如‘小韩 ’ varchar2(20) 长度可变,最多容纳40... 阅读全文
摘要:
通过scott用户下的表来演示如何使用select语句,接下来对emp、dept、salgrade表结构进行解说。 emp 雇员表 字段名称 数据类型 是否为空 备注 -------- ----------- -------- -------- EMPNO NUMBER(4) 员工编号 ... 阅读全文
摘要:
oracle 用户管理 :profile + tablespace + role + user 一、使用profile管理用户口令 概述:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项时,那么oracle就会将default分配给用户。 1.账户锁定 概述:指定该账户(用户)登陆时... 阅读全文
摘要:
一、创建用户 概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。 create user 用户名 identified by 密码; 注意:oracle有个毛病,密码必须以字母开头,如果以数字开头,它不会创建用户 eg、create user xiaoming identified by oracle; ... 阅读全文
摘要:
一、sys用户和system用户 Oracle安装会自动的生成sys用户和system用户 (1)、sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)、system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager (... 阅读全文
摘要:
一、数据库分类 1、小型数据库:access、foxbase 2、中型数据库:informix、sql server、mysql 3、大型数据库:sybase、db2、oracle 二、项目中如何合理地使用数据库,可以依据如下三个方面入手 1、项目的规模 a、负载量有多大,即用户数有多大 b、成本 c、安全性 eg... 阅读全文