




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章Oracle数据库简介(1)第一章Oracle数据库简介(2)第二章SQL查询和SQL函数第三章锁和表分区第四章数据库对象第五章使用PLSQL第六章游标管理第七章子程序和程序包第八章触发器和内置程序包第九章备份与恢复简介第一章Oracle数据库简介(1)一、 了解Oracle数据库基本思路:基础架构Sql语句PL/SQL存储过程包。二、 Oracle数据库体系结构的各种组件:物理组件和逻辑组件。三、 Oracle数据库是对象关系型数据库管理系统(ORDBMS):在数据安全性和数据完整性控制方面性能优越;跨操作系统,跨硬件平台的数据互操作能力。四、 Oracle数据库的主要特点:支持多用户,大事务量的事务处理;数据安全性和完整性控制;支持分布式数据处理;可移植性。五、 数据库的体系结构是指数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制。Oracle实例:是指管理数据库的后台进程和内存结构的集合。数据缓冲区:业务操作数据;六、 Oracle数据库实例:实例: 日志缓冲区:记录日志数据;内存结构SGA(系统全局区域):Sql语句的查询执行计划;共享池:数据字典()元数据:描述数据的数据;如:表、列、类型Java池:Oracle数据库内部的Java组件;如:用Java编写的存储过程大型共享池:BLOB/CLOB多媒体七、 数据库基本组件:八、 使用Oracle数据库开发工具:第一步:需要启动Oracle核心服务引擎:Oracleservice+SID :SID是指在安装过程中指定数据库的全局数据库名称;如:Oracleserviceaccp,O(注:点之前的名称长度不能超过8个)。第二步:启动监听服务器:1、 OEM企业管理启动:进入之后:如果有其他,就移除再添加,弹出的窗口设置:然后,建立连接,进行用户登录:先登录:sys/sys AS SYSDBA 进行授予scott/tiger用户于DBA权限;在安全性用户里授权:DBA权限接着点击应用,断开连接,重新连接服务器,启动scott/tiger普通用户:可以看到配置信息方案里面有用户方案,方案里有数据表结构和其他信息:可以创表建约束2、 sqlplus GUI版:进入之后:或者:进入之后的窗口:3、 sqlplus CMD版:在dos命令下编辑:改变用户:接着就可以增删改查。4、 slqplus WEB 版:http:/localhost:7778/isqlplus开启http服务:然后,输入URL地址进入后:5、 sqlplus worksheet:进入之后的界面:6、 PL/Sql Deberoper开发工具:解压出来:进行安装开发工具:然后安装:如果要安装汉化版,则安装:chinese.exe文件安装完之后,解压aalf.jar包,把该文件aalf.dat文件复制到plsql developer安装的根目录:然后启动进入的界面:登录后,打开sql文件进入进行查询:按F8执行语句:查询数据库信息:select * from v$database;select * from v$instance;第一章Oracle数据库简介(2)7、 后台进程的作用:(1) SMON:系统监控器,监控服务器端应用程序(如出现问题,重新启动Oracle应用程序时,会自动运行,恢复数据和文件)。如果监控实例,当实例非正常失效,重启Oracle程序作前滚,回收资源,恢复的操作。(2) PMON:客户端系统监控器,监控用户端用户进程。当客户端失效,由PMON来监控回收释放资源,作事务的完整性保证。(3) DBWR:也称DBW0、DBW8、DBW9。把数据缓冲区的数据写入数据文件进程。当缓冲区达到三分之二以上时,则自动开始调用该进程进行写数据文件(内部用的是LRU算法:最近最优最少原则)。(4) LGWR:把日志缓冲区的数据写入日志文件进程。(5) CKPT:检查点进程。即同步点(数据文件、日志文件同步)。相当于路标,路标之前的数据文件和日志文件是同步的,而路标之后的是不同步的。注:服务器进程:专门服务于该用户的关系进程。其所需的内存称为PGA。8、 Oracle组成:(1) 物理组成(OS文件):A、 数据文件:业务数据,即实际数据。(.dbf)B、 日志文件:日志数据。(.log)C、 控制文件:数据库的物理信息,数据库名称,数据文件和物理文件的位置信息。(.ctl)D、 参数文件:配置参数(启动Oracle第一次读取文件的初始化参数)。(.ora)E、 归档日志文件:写日志时,写满了后进行备份归档,然后再清空。注:启动Oracle的执行顺序:初始化参数文件控制文件数据、日志文件。(2) 逻辑组成:(逻辑顺序:表空间段区块)A、 表空间:为管理方便而增加的一种逻辑组件,至少要有一个系统表空间。B、 段:构成表空间的逻辑存储结构,段由一组区组成。按照段所存储数据的特征,可将段分为:数据段;索引段;回退段:保存可能需要回滚的数据;临时段:存放临时的数据。C、 区:分配数据的最小分配单元。D、 块:存储数据的最小存储单元。9、 Oracle数据库网络配置:(1) listener.ora:Oracle网络服务器配置网络监听的文件。(2) tnsnames.ora:Oracle客户端访问Oracle必须的客户端配置文件。10、 文件的物理位置:(1) 初始化参数文件:(2) 物理文件(控制文件、数据文件、日志文件):(3) 参数范例文件:(4) 网络配置文件:第二章SQL查询和SQL函数1、 SQL语句:(1) DML:数据管理(操纵)语言:insert update select delete 等增删改查语句;(2) DDL:数据库定义语言:create drop alter等语句;(3) TCL:事务控制语言:commit rollback savepoint(回滚点);(4) DCL:数据控制语言(安全控制):grant授权 revoke 回收权限。2、 数据:结构化数据:SQL语言中的二维表存储数据;半结构话数据:XML文件(父子关系);平面数据:文本数据文件(.txt)、属性数据文件(.properties)。3、 数据类型:(1) 数据库类型:用在列上;A、字符数据类型:CHAR(用于长度固定) VARCHAR2(常用) LONG(可变长度,最多为2GB);B、数值数据类型:NUMBER/NUMBER ( p, s)(可以存储整数、浮点数和实数最高精度为 38 位);C、日期时间数据类型:DATE(存储日期和时间部分,精确到整个的秒) TIMESTAMP(存储日期、时间和时区信息,秒值精确到小数点后6位);D、“大对象”数据类型:LOG可以存储多达 4GB 的非结构化信息,允许对数据进行高效、随机、分段的访问。它包括:CLOB(存储大量字符数据,如简历数据等);BLOB(存储二进制数据,如图像,视频,音频等);BFIE(存储指定二进制文件的路径地址,即它用于将二进制数据存储在数据库外部的操作系统文件中)。(2) PL/SQL类型:用在变量上。4、 伪劣:像一个表列,但是它并不是真正的列,Oracle自动维护的列,只能查询,不能插入、更新、修改语句。(1) ROWID:标识行的Id号。(2) ROWNUM:查询结果集序号。注:ROWNUM结果集序号稍微像sql server2005的top命令,如果用它来做过滤条件,只能用小于()号,不能用大于或等于号。5、 删除表的命令区别:Delete from:删除表,不会删除表结构,删除后可以回滚,恢复。Drop table:删除表,表结构也删除,把表对象删除掉。Truncated table:删除表,不会删除表结构,删除后不可以回滚,恢复。6、 利用现有表创建新表:语法:CREATE TABLE 新表 AS SELECT 原表列 FROM 原表创建一个和原表一致的新表(相当于复制):创建一个新的空表:创建一个新的表(从原表中抽取某两列到新表):7、 无重复行关键字语法:SELECT DISTINCT 列 FROM 表8、 插入日期时间:默认格式:转换格式:9、 插入来自其他表的记录语法:INSERT INTO 该表 (列名) SELECT 其他表列名 FROM 其他表名注:该表的列名必须指定,不可用*号代替。10、 授权和回收权限:(1)授权:(2)回收权限:11、 集合操作符:(1) UNION(并集):排除重复数据;(2) UNION(并集):不排除重复数据;(3) INTERSECT(交集):两表都有存在的同样的数据;(4) (差集):除去重复数据而所得的剩余的数据。注:两表取交集,必须多的数据表的查询语句在前,少数据表的查询语句在后,才能看到差集所得出的数据,否则数据是空,没有显示数据。A、 数据少的表在前,多的表在后:B、 数据多的表在前,少的表在后:12、 连接操作符:|13、 SQL函数:(1) 单行函数:每一行只返回一个值,即每一行只调用一次。1、日期函数:A、ADD_MONTHS:在一个日期上加上或者减去月份,以日期形式返回值。B、MONTHS_BETWEEN:返回两个日期间相隔的月份值。C、LAST_DAY:返回指定月份的最后一天。D、ROUND:四舍五入返回日期,以一天24小时制,超过或者等于12小时返回的是第二天,否则返回当天的日期。E、NEXT_DAY:返回说明日期之后满足给出条件的第一天。F、TRUNC:返回指定的日期当前星期的第一天(星期日);返回小数点之间的数值。G、EXTRACT:返回年或者月、日。2、字符函数其他字符函数:3、数字函数:4、转换函数:5、其他函数(转换为空值的函数):(2) 分组函数:AVG:求平均数函数; MAX:求最大值函数; MIN:求最小值函数; COUNT:求总共的行数; SUM求和函数;GROUP BY:分组函数;HAVING:结果集过滤条件。(3) 分析函数:第三章锁和表分区1、 锁的概念:锁是数据库用来控制共享资源并发访问的机制;锁用于保护正在被修改的数据;直到提交或回滚了事务之后,其他用户才可以更新数据。2、 加锁的条件:资源可能会被共享;可能会并发;数据会被修改。3、 加锁和释放锁的时机:释放锁时机:提交/回滚事务后。加锁时机:悲观锁:一开始事务就加锁,直到事务完成才释放(并发机会大,用悲观锁)。乐观锁:只有当提交事务时才加锁(并发机会少,一般用版权号控制)。4、 锁的释放:要么提交或回滚;要么超时(自动释放);要么PMON/SMON释放。5、 锁定的优点:A、 一致性:一次只允许一个用户修改数据;B、 完整性:为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修改将反映给所有用户;C、 并行(发)性:允许多个用户访问同一数据。6、 锁的类型:A、 数据库锁:锁定数据库;B、 表空间锁:锁定表空间。如脱机;C、 表级锁:锁定表,手工锁;D、 行级锁:锁定行,是Oracle数据库的默认锁,自动锁。7、 行级锁:对正在被修改的行进行锁定。其他用户可以访问除被锁定的行以外的行行级锁是一种排他锁,防止其他事务修改此行(insert、update、delete、select * from 表名 for update)。如果没有把数据查询出来进行更新,增删改都能完成命令,但是不能提交,查询的话,只能查出之前提交完成的数据:只有提交了之后,才能显示全部数据,因为存在悲观锁,进行锁定:现在,对给定行锁定:结果,另外一个用户进行修改时,则进入等待状态:提交之后,才能更改:对锁定行删除也是会进入等待:提交后,才能删除:注:行级锁升级为表级锁:提交之后,锁解开,可修改:另一用户不提交,则这边用户处于等待:提交之后才可以修改。如果加锁,设置为等待时间或不等待:提交之后,则可加锁:8、 表级锁:语法:LOCK TABLE 表名 IN 表的模式类型 MODE表的模式类型:如:加共享锁:提交完,之后即可执行命令:死锁:提交之后,才能解锁。9、 表分区:(范围分区、散列分区、列表分区、复合分区)A、 范围分区(如:按时间分区):语法:RANGEPARTITION BY RANGE (列名)( PARTITION part1 VALUE LESS THAN(范围区域), PARTITION part2 VALUE LESS THAN(范围区域), . PARTITION partN VALUE LESS THAN(MAXVALUE);B、 散列分区(系统自动平均分区):语法:HASHPARTITION BY HASH (列名)PARTITIONS 分区数量;或PARTITION BY HASH (列名)( PARTITION part1, PARTITION part2, . PARTITION partN);C、 列表分区(如:地址分区):语法:LISTPARTITION BY LIST (列名)( PARTITION part1 VALUES (区域), PARTITION part2 VALUES (区域), . PARTITION partN VALUES (DEFAULT);D、 复合分区:分区里面再分区,二级分区里的分区必须是散列分区。语法:PARTITION BY RANGE (列名)SUBPARTITION BY HASH (列名)SUBPARTITIONS 分区数量( PARTITION part1 VALUE LESS THAN(范围), PARTITION part2 VALUE LESS THAN(范围), . PARTITION partN VALUE LESS THAN(MAXVALUE);10、 操纵已分区的表:INSERT INTO 表名 VALUES (列名数据);SELECT * FROM 表名 PARTITION (分区名);DELETE FROM 表名 PARTITION (分区名);分区维护操纵类型:A、 计划事件:定期删除最旧的分区;B、 非计划事件:解决应用程序或系统问题。操纵有:添加分区:ADD语法:ALTER TABLE 表名 ADD PARTITION P4 VALUES LESS THAN (范围区域);删除分区:DROP语法:ALTER TABLE 表名 DROP PARTITION P4;截断分区:TRUNCATE语法:ALTER TABLE 表名 TRUNCATE PARTITION P3;合并分区:MERGE语法:ALTER TABLE 表名 MERGE PARTITIONS S1, S2 INTO PARTITION S2;拆分分区:SPLITAT语法:ALTER TABLE 表名 SPLIT PARTITION P2 AT (1500)INTO (PARTITION P21, PARTITION P22);第四章数据库对象一、 数据库对象:又称模式对象(用户所拥有数据库逻辑结构对象的集合称为模式)。数据库对象是逻辑结构的集合,最基本的数据库对象是表。二、 数据字典:user_*:用户拥有的对象集合;all_*:用户有权访问的对象集合;dba_*:dba有权访问的对象集合。以v$开头的是常见的数据字典,是动态性能视图。三、 同义词:是现有对象的一个别名。优点:简化SQL语句;隐藏对象的名称和所有者;提供对对象的公共访问。类型:私有同义词:create sysnonym 别名 for 现表名; 共有同义词:create public sysnonym 别名 for 现表名;私有同义词:共有同义词:查看同义词信息:如果查出有相同的同义词,则替换:删除同义词:四、 序列:用户生成唯一,连续序号的对象。默认是升序即关键字NOORDER;语法:CREATE SEQUENCE toys_seqSTART WITH 10INCREMENT BY 10MAXVALUE 2000MINVALUE 10NOCYCLECACHE 10;运用在表中:修改序列的属性:删除序列:用伪劣访问序列值:Nextval:返回下一列;Currval:返回当前列。五、 视图:视图以经过定制的方式显示来自一个或多个表的数据视图可以视为“虚拟表”或“存储的查询”创建视图所依据的表称为“基表”视图的优点有:提供了另外一种级别的表安全性;隐藏的数据的复杂性;简化的用户的SQL命令;隔离基表结构的改变;通过重命名列,从另一个角度提供数据。语法:1、 create view 视图名 as 查询语句;2、 CREATE OR REPLACE FORCE VIEW视图名(alias, alias.) AS 查询语句WITH CHECK OPTION WITH READ ONLY;能修改的视图:不能修改的试图:With check option:如果要为with check option添加别名,则:With check option CONSTRAINT 别名。删除视图:视图上的DML语句有如下限制:只能修改一个底层的基表;如果修改违反了基表的约束条件,则无法更新视图;如果视图包含连接操作符、DISTINCT 关键字、集合操作符、聚合函数或 GROUP BY 子句,则将无法更新视图;如果视图包含伪列或表达式,则将无法更新视图。键保留表:既是视图的主键,又是来自基表的主键的该基表。3、 索引:是与表相关的一个可选结构。(Oracle自动维护索引)(1) 优点:提高查询性能,减少磁盘I/O(输入/输出)。(2) 缺点:需要占据磁盘空间;会影响增删改的性能,使性能降低。(3) 在什么地方建索引:A、 在列上;B、 经常查询的列;C、 列多行多;D、 Where子句、group by子句、order by子句后跟的列优先考虑创建索引;E、 Where子句条件多时,即组合查询的列创建组合索引;F、 有函数调用,创建函数索引;G、 主键上自动创建唯一的索引。(4) 索引类型(唯一索引、位图索引、组合索引、基于函数索引、反向键索引):A、 创建标准索引:语法:创建标准索引:与索引有关的数据字典视图:B、 唯一索引:C、 组合索引:D、 反向键索引:反转索引列键值的每个字节,通常建立在值是连续增长的列上,使数据均匀的分布在整个索引上。由反向键索引转换重新创建为标准索引:E、 位图索引:创建在低基数上;不直接存储rowid,而存储字节位到rowid的映射。能减少相应时间;节省空间的占用。一个位图索引值可以指向多个数据行。注:基数:不同值的个数/总数;低基数:相同值多,不同值少。F、 索引组织表:数据存储在与其关联的索引中。而且存储的是行的实际数据,不是rowid;基于主键访问的数据(类似聚集索引,一表只有一个),而且是在创建表的时候一起创建索引组织表:create table 表名(列,必须含有主键列) organization index;普通表和索引组织表的区别:普通表索引组织表ROWID 唯一地标识行主键唯一地标识行隐式的 ROWID 列没有隐式的 ROWID 列基于 ROWID 的访问基于主键的访问顺序扫描返回所有行完全索引扫描返回所有行,并按主键顺序排列支持分区不支持分区G、 基于函数的索引:(5) 索引中的分区:a) 局部分区索引 在分区表上创建的索引,在每个表分区上创建独立的索引,索引的分区范围与表一致b) 全局分区索引 在分区表或非分区表上创建的索引,索引单独指定分区的范围,与表的分区范围或是否分区无关c) 全局非分区索引 在分区表上创建的全局普通索引,索引没有被分区第五章使用PL/SQL1、 PL/SQL是通过语言(Procedural Language)与结构话查询语言(SQL)结合而成的编程语言。2、 支持多种数据库类型,用于创建存储过程、触发器、程序包。3、 具备可移植性、灵活性和安全性。4、 优点:A、支持面向对象编程(OOP);B、可移植性,可运行在任何操作系统和平台上的Oracle数据库;C、 更好的性能,PL/SQL经过编译执行,使客户端与服务器传输的次数降低;D、 简化数据处理;E、 安全性,可以通过存储过程限制用户对数据的访问。5、 PL/SQL块是构成PL/SQL程序的基本单元。分为三个部分:声明部分,可执行部分,异常处理部分。每一个语句后面都要加分号,一个不能少,否则出错:6、 使用变量和常量:7、 PL/SQL支持的内置数据类型:A、 标量类型:(1) 数字:binary_integer 、number 、pls_integer(2) 字符:char、 long 、raw、long row、varchar2(3) 布尔:boolean (true,false,null)(4) 时间:date、timestampB、 LOB类型:存储非结构化数据块。(1) bfile;(2) blob;(3) clob;(4) nclob;C、 属性类型:%type、%rowtype%type:提供某个变量或数据库表列的数据类型。%rowtype:提供表示表中一行的记录类型。优点:不需要知道被引用的表列的具体类型;如果被引用对象的数据类型发生改变,其也随之改变。8、 条件控制语句:9、 循环控制语句:Loop循环:While循环:For循环:10、 顺序控制语句:Goto:无条件的转到标签指定的语句。Null:什么也不做的空语句。11、 动态SQL:第一种动态SQL:第二种动态SQL:第三种动态SQL:12、 错误处理:(1) 预定义异常:即系统自带定义的异常。(2) 用户定义异常:声明异常;根据条件抛出异常;捕获异常。引发应用程序错误:错误编号必须介于:-20000-20999之间。错误消息最大长度为2048字节。异常的好处:对错误进行回滚操作;调用存储过程时,让主程序继续执行。第六章游标管理1、SQL语句针对的是集合(即多行数据);游标针对的是单行数据,关联的sql所影响的行数。2、游标:DML(增删改查)语句关联对象的集合(容器)。作用:对数据的单行处理;减少查询的数据。3、游标的类型:(1)隐式游标:增删改查(DML)语句会自动打开进行管理游标(在 PL/SQL 程序中执行DML SQL 语句时自动创建隐式游标)。名字为:SQL;自动声明、打开、关闭。属性:%fond、%nofound、%rowcount、%isopen。(2)显示游标:手工管理游标(用于处理返回多行的查询)。带参数的显示游标:For循环的显示游标:使用游标更新行:A、静态游标:运行前关联游标与sql语句。B、动态游标:运行时关联游标与sql语句(ref游标)。(3)ref游标:(4)使用游标变量执行动态sql语句:(5)游标变量的优点和限制:游标变量的功能强大,可以简化数据处理。游标变量的优点有:可从不同的 SELECT 语句中提取结果集;可以作为过程的参数进行传递;可以引用游标的所有属性;可以进行赋值运算。使用游标变量的限制:不能在程序包中声明游标变量;FOR UPDATE子句不能与游标变量一起使用;不能使用比较运算符。第七章子程序和程序包1、子程序:命名的 PL/SQL 块,编译并存储在数据库中。子程序的各个部分:声明部分;可执行部分;异常处理部分(可选)。子程序的分类:过程 执行某些操作;函数 执行操作并返回值。2、子程序的优点:模块化:将程序分解为逻辑模块;可重用性:可以被任意数目的程序调用;可维护性:简化维护操作;安全性:通过设置权限,使数据更安全。3、创建和调用存储过程:把PL/SQL语句块的声明部分(declare)改成存储过程的声明语法:create or replace 存储过程名(参数) is/as 即可。无参数存储过程:带参数存储过程;过程参数的三种模式:IN:用于接受调用程序的值;默认的参数模式;OUT:用于向调用程序返回值;IN OUT:用于接受调用程序的值,并向调用程序返回更新的值。(1)过程参数的in模式:调用:或者:(2)过程参数out模式:调用:(3)过程参数in out 模式: 调用:In out此模式适用于两个变量进行调换值:调用:调用:(4)将过程的执行权限授予其他用户语法:grant execute on 过程名 to 用户名;grant execute on 过程名 to public;加上public用于将过程给所有用户授权。(5)删除过程语法:drop procedure 过程名;(6)查看存储过程和源代码:4、函数:把PL/SQL语句块的声明部分(declare)改成存储过程的声明语法:Create or replace function 函数名(参数个数) return 返回类型 is/as (1)定义函数的限制:函数只能接受 IN 参数,而不能接受 IN OUT 或 OUT 参数;形参不能是 PL/SQL 类型;函数的返回类型也必须是数据库类型。(2)访问函数的两种方式:使用 PL/SQL 块;使用 SQL 语句。调用:或者:有参数的函数:调用:或者:调用:或者:5、过程和函数的比较:过 程函 数作为 PL/SQL 语句执行作为表达式的一部分调用在规格说明中不包含 RETURN 子句必须在规格说明中包含 RETURN 子句不返回任何值必须返回单个值可以包含 RETURN 语句,但是与函数不同,它不能用于返回值必须包含至少一条 RETURN 语句6、自主事物处理:(1)自主事务处理:主事务处理启动独立事务处理;然后主事务处理被暂停;自主事务处理子程序内的 SQL 操作;然后终止自主事务处理;恢复主事务处理。(2)PRAGMA AUTONOMOUS_TRANSACTION 用于标记子程序为自主事务处理。(3)自主事务处理的特征:与主事务处理的状态无关;提交或回滚操作不影响主事务处理;自主事务处理的结果对其他事务是可见的;能够启动其他自主事务处理。存储过程p1:存储过程p2:调用p2:execute p2;更新的两个列都会提交。(相当于把p1的存储代码复制过来进行执行)现在,改为用自主事物处理,把p1改为:P2 为:则在调用p2时(execute p2;):p1会回滚,p2会提交,两个存储过程时分开独立的,先执行主程序里的子程序,然后再执行主程序的代码。7、程序包:程序包是对相关过程、函数、变量、游标和异常等对象的封装。程序包由规范和主体两部分组成。规范:声明程序包中公共对象。包括类型、变量、常量、异常、游标规范和子程序规范等。语法:CREATE OR REPLACE PACKAGE 包名 IS/ASProcedure 存储名(参数);Function 函数名(参数) return 返回类型;END ;主体:声明程序包私有对象和实现在包规范中声明的子程序和游标。CREATE OR REPLACE PACKAGE BODY 和规范的包名一致 IS/ASProcedure 存储名(参数) is 声明变量;Begin语句;End;Function 函数名(参数) return 返回类型 is声明变量;Begin语句;End;END ;查看包规范和、包主体、包规范源代码、包主体源代码:程序包中的游标:游标的定义分为游标规范和游标主体两部分。在包规范中声明游标规范时必须使用 RETURN 子句指定游标的返回类型。RETURN子句指定的数据类型可以是:用 %ROWTYPE 属性引用表定义的记录类型;程序员定义的记录类型。包中的游标规范:包中的游标主体:程序包的优点:模块化;更轻松的应用程序设计;信息隐藏;新增功能;性能更佳。第八章触发器和内置程序包1、触发器是当特定事件出现时自动执行的存储过程。特定事件可以是执行更新的DML语句和DDL语句;触发器不能被显式调用;触发器的功能:自动生成数据;自定义复杂的安全权限;提供审计和日志记录;启用复杂的业务逻辑。2、触发器由三部分组成:触发器语句(事件):定义激活触发器的 DML 事件和 DDL 事件。触发器限制:执行触发器的条件,该条件必须为真才能激活触发器。触发器操作(主体):包含一些 SQL 语句和代码,它们在发出了触发器语句且触发限制的值为真时运行。3、语法:CREATE OR REPLACE TRIGGER 触发器名AFTER | BEFORE | INSTEAD OFINSERT OR UPDATE OF 列名 OR DELETEON 表/视图FOR EACH ROWWHEN (条件)pl/sql语句块;注::old(旧数据)和 :new(新数据)都是行类型,只能用在行级触发器中。行级触发器:加上for each row ;语句触发器:不加上for each row;4、触发器类型:A、DDL 触发器:B、数据库级触发器:C、DML 触发器:D、语句级触发器:E、行级触发器:F、INSTEAD OF 触发器:(1)行级触发器:创建一个表:创建一个序列:创建触发器:在插入Id之前,把用户输入的Id用序列代替,达到不允许用户输入或修改Id值:使用触发器:(2)语句级触发器:使用语句级触发器:(3)INSTEAD OF 触发器:必须是视图才能用此触发器:创建视图:创建 instead of触发器:如果把凸出的字符:emp改成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业遗址改造为商业地产案例研究
- 工业领域节能改造路径
- 工业领域的能源转型与优化
- 工业节能的智能化技术应用
- 工作压力管理与效率提升策略
- 工作效率提升的智能穿戴设备解决方案
- 工作场所中的环境优化与管理
- 工作场合的礼仪与沟通技巧
- 工程教育中的BIM技术应用培训
- 工程维护中抗裂砂浆的修复与加固技术
- 护理心理学试题及答案解读
- 殡葬火化师试题及答案大全
- 2025年高考物理压轴题专项训练:动量定理及碰撞类动量守恒定律的应用(解析版)
- 2025年西药药剂员(中级)职业技能鉴定考试题库(含答案)
- 5.2做自强不息的中国人(教学设计)2024-2025学年七年级道德与法治下册(统编版2024)
- 2025 年中职高考对口升学(幼儿教育学)真题试卷附参考答案
- 2025承诺合同(个人承诺)
- 2025-2030中国智能视频行业调研分析及发展趋势预测研究报告
- 安徽省2024-2025学年八年级信息技术水平会考操作题
- 墓地征用协议书范本
- 2025年农艺工(高级)职业技能鉴定参考试题库(含答案)
评论
0/150
提交评论