




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle9i数据库培训2021年5月.培训目录Oracle9i 数据库系统的安装、配置用户数据库的建立和根本维护Oracle9i数据库管理根本知识Sql*plus工具和PL/SQL言语简介.Oracle9i企业版安装环境Oracle9i Enterprise Editon 环境要求内存:1GB以上硬盘:80G以上CPU:P4 1.0G以上操作系统:MS WIN2000 AS、WIN2003.Oracle9i客户端安装环境Oracle9i客户端环境要求内存:512MB以上硬盘:30GB以上CPU:P4 1.0G以上操作系统:win2000/xp以上.Oracle9i安装目录构造根目录为:x:
2、oracle主目录为:Ora92在主目录下包含bin、network、assistants等目录;Admin:数据库管理文件目录,包含以数据库命名的子目录;Oradata:数据库文件存储目录;控制文件数据文件联机重做日志文件.Oracle9i安装步骤1鼠标单击开场安装Setup.exe,出现下面界面.Oracle9i安装步骤2单击下一步,确定Oracle主目录名及安装途径。.Oracle9i安装步骤3单击下一步,选择要安装的产品。.Oracle9i安装步骤4单击下一步,选择安装类型。 .Oracle9i安装步骤5单击下一步,选择数据库配置。.Oracle9i安装步骤6单击下一步,输入数据库标识
3、,以前的Oracle版本默许的是Oracl,命名成其他的也可以。 .Oracle9i安装步骤7单击下一步,选择数据文件的存放位置。.Oracle9i安装步骤8单击下一步,选择数据库字符集,普通中文字符集运用ZHSGBK16,假设运用字符集不 当的话数据库中会出现很多“?.Oracle9i安装步骤9单击下一步,ORACLE会列出安装产品列表。 .Oracle9i安装步骤10单击下一步,进展ORACLE数据库的安装,在安装的过程中会弹出两次对话框,要 求插入第二章和第三章光盘。 .Oracle9i安装步骤11单击下一步,生成数据库并进展工具配置。 .Oracle9i安装步骤12安装胜利。 .Ora
4、cle9i效力名配置步骤1Net manager的配置,添加效力命名,选择效力命名,点左侧“+.Oracle9i效力名配置步骤2填入效力名.Oracle9i配置步骤3确定网络协议,常用tcp/ip协议.Oracle9i配置步骤4填写主机名(ip或完好的计算机名),端口号(与监听器一致).Oracle9i配置步骤5填写全局标识符SID.Oracle9i配置步骤6可以选择测试,也可直接完成.Oracle9i配置步骤7测试界面.Oracle9i监听程序配置步骤1Net manager的配置,添加效力命名,选择监听程序,点左侧“+.Oracle9i监听程序配置步骤2添加地址.Oracle9i监听程序配
5、置步骤3保管设置.培训目录Oracle9i 的安装、配置用户数据库的建立和根本维护Oracle9i数据库管理根本知识Sql*plus工具和PL/SQL言语简介.建立表空间、用户、导入数据库1建立两个表空间PEDIS40、SYS40_SJK .建立表空间、用户、导入数据库2点击编辑存储参数,使数据文件已满可以自动扩展,增量为:5M;最大为无限制 .建立表空间、用户、导入数据库3建立用户PEDIS40和SYS40_SJK.建立表空间、用户、导入数据库4分别授权角色为DBA和RESOURCE,系统为SELECT ANY TABLE.建立表空间、用户、导入数据库5导入数据库在开场菜单中运转中输入命令:
6、Imp 用户名/密码效力名 file=途径文件名 log=途径文件名 full=y如下:IMP SYS40_SJK/SYS2005ORACLE92 FILE=D:SJKBAKSYS40_SJK.DMP LOG=D:SJKBAK SYS40_SJKLG.LOG FULL=YIMP PEDIS40/SJK2005ORACLE92 FILE=D:SJKBAKPEDIS40.DMP LOG=D:SJKBAKPEDIS40LG.LOG FULL=Y.Oracle9i数据库卸载停顿Oracle效力;利用Oracle卸载工具进展卸载;在注册表中删除;HKEY_LOCAL_MACHINESOFTWAREORA
7、CLEKEY_LOCAL_MACHINESYSTEMCURRENTCONTROLSETSERVICES删除C:Program FilesOracle和Oracle的安装目录;重新启动计算机.Oracle9i数据库的备份与复原数据文件每一个Oracle数据库有一个或多个物理的数据文件(Data File)。一个数据库的数据文件包含全部数据库数据。逻辑数据库构造(如表、索引)的数据物理地存储在数据库的数据文件中。数据文件有以下特征: 一个表空间数据库存储的逻辑单位由一个或多个数据文件组成;一个数据文件仅与一个数据库联络;一个数据文件只属于一个表空间;可以增大数据文件大小来添加存储空间。.Oracl
8、e9i数据库的备份与复原功能:Oracle数据导入导出imp/exp就相当与oracle数据复原与备份;执行环境:可以在Sqlplus.exe或者命令行方式中执行;查找协助:在命令行中键入c:imp -?C:exp -?.Oracle9i数据库的备份与复原数据的导出 1 将数据库Test完全导出,用户名system 密码manager 导出到D:daochu.dmp exp system/managerTEST file=d:daochu.dmp full=y log=d:daochu.log 2 将数据库中system用户与sys用户的表导出 exp system/managerTEST f
9、ile=d:daochu.dmp owner=(system,sys).Oracle9i数据库的备份与复原数据的导出 3 将数据库中的表table1 、table2导出 exp system/managerTEST file=d:daochu.dmp tables=(table1,table2)4 将数据库中的表table1中的字段filed1以00打头的数据导出 exp system/managerTEST file=d:daochu.dmp tables=(table1)query= where filed1 like 00%.Oracle9i数据库的备份与复原数据的导入 1 将D:dao
10、chu.dmp 中的数据导入 TEST数据库中。 imp system/managerTEST file=d:daochu.dmp 上面能够有点问题,由于有的表曾经存在,然后它就报错,对该表就不进展导入。 在后面加上 ignore=y 就可以了。 2 将d:daochu.dmp中的表table1 导入 imp system/managerTEST file=d:daochu.dmp tables=(table1).培训目录Oracle9i 的安装、配置用户数据库的建立和根本维护Oracle9i数据库管理根本知识Sql*plus工具和PL/SQL言语简介.Oracle9i数据库存储管理创建与修正
11、数据文件可以运用DBA在图形界面中创建与修正数据文件Alter tablespace users add datafile filename1 size 10m autoextend on next 2m maxsize 50m;Alter tablespace users add datafile d:oracleoradatauserdata3.dbf size 50m autoextend off;.Oracle9i数据库存储管理数据库TableSpace1TableSpace2DataFile1DataFile2DataFile3.Oracle9i数据库管理方式对象1与每个用户相关的一
12、组数据库对象的集合方式一切者拥有该方式下的一切对象的全部权限一个表空间可存储不同的方式对象,一个方式的不同对象也可以存储在不同的表空间中方式对象2表 视图索引序列数据库链路过程、函数、包和触发器同义词快照聚集.Oracle9i数据库管理Oracle数据字典表和视图构成;存储oracle系统的活动信息以及一切用户数据库的定义信息;分为静态数据字典和动态性能表。.Oracle9i数据库管理静态数据字典用户视图:以USER做前缀,包含当前用户所拥有的全部对象信息;扩展用户视图:以ALL做前缀,它除了包含当前用户所拥有的全部对象信息外,还包含公共账户和显示授权用户的全部方式对象;管理员视图:以DBA做
13、前缀,包含整个数据库的一切对象信息;检索用户在数据库所拥有方式对象信息 Select * From User_Objects;检索用户表、视图、聚集信息 Select * From User_Tab_Objects;检索用户对象访问权限信息 Select * From User_Tab_Privs_Made;.Oracle9i数据库管理动态性能表虚拟表,记录了当前数据库的活动情况和性能参数;动态性能表的一切者为SYS用户,他们均以V$做前缀;V$BGPROCESS列出当前一切后台进程及运转错误数。.Oracle9i数据库管理Oracle数据库实例系统全局区(SGA)时数据库信息的共享内存区;多
14、个Oracle进程;每个翻开的Oracle数据库有一个或多个Oracle实例支撑;Oracle实例高效地管理数据库的一切数据;为用户和运用程序访问数据库提供效力。.Oracle9i数据库管理Oracle内存构造ORACLE在内存存储以下信息:执行的程序代码;衔接的会话信息;程序执行期间所需数据和共享的信息;存储在外存储上的缓冲信息;ORACLE具有以下根本的内存构造:软件代码区;系统全局区,包括数据库缓冲存储区、日志缓冲区和共享池;程序全局区,包括栈区和数据区;排序区。.Oracle9i数据库管理Oracle后台进程DBWR 数据库写入程序LGWR 日志写入程序CKPT 检查点SMON 系统监
15、控PMON 进程监控ARCH 归档RECO 恢复LCKn 封锁Dnnn 调度进程Snnn 效力器 .Oracle9i数据库管理Oracle数据库和实例的启动 启动数据库并使它可用,有三步操作:启动一个实例装配数据库 翻开数据库Startup mountAlter database openStartup Oracle数据库和实例的封锁 封锁数据库卸载数据库停顿实例Shutdown normal|immediate|abort.Oracle9i数据库管理初始化参数文件在启动一个实例时,ORACLE必需读入一初始化参数文件initialization parameter file,该参数文件是一个
16、文本文件,包含有实例配置参数。这些参数置成特殊值,用于初始ORACLE实例的许多内存和进程设置,该参数文件包含:一个实例所启动的数据库名字在SGA中存储构造运用多少内存;在填满在线日志文件后作什么;数据库控制文件的名字和位置;在数据库中公用回滚段的名字。修正初始化文件参数值直接修正数据库初始化参数文件执行alter session set 参数名=值执行alter system set 参数名=值执行alter system set 参数名=值 deferred.Oracle9i数据库管理Oracle网络构造Net9i是Oracle的中心网络部件,它需求同时安装在客户机和效力器上,经过它在客户
17、端与效力器或两个效力器之间建立网络会话。网络效力名:数据库在客户端的逻辑表示格式为:user/pwsdservice_name监听器:运转在oracle效力器上的一个独立进程,担任监听客户的衔接恳求。.Oracle9i数据库管理Oracle网络衔接表示图网络效力称号解析(oracle names,tns,dns)Net9i客户监听器Oracle效力器.Oracle9i数据库管理Net9i网络配置在效力器端配置监听器在客户端建立网络效力名列表网络参数配置文件 Listener.ora sqlnet.ora tnsnames.ora names.ora监听器配置IPC协议:支持外部过程衔接TCP/
18、IP、端口1521:支持Net8客户衔接TCP/IP、端口2481:支持IIOP客户衔接监听器管理: lsnrctl 命令.Oracle9i数据库管理Oracle本地解析配置网络效力器存储到Tnsname.ora文件中网络协议地址信息数据库效力称号测试衔接 tnsping 网络效力名.Oracle9i 事务管理一个事务为任务的一个逻辑单位,由一个或多个SQL语句组成。一个事务是一个原子单位,构成事务的全部SQL语句的结果可被全部提交或者全部回滚。一个事务由第一个可执行SQL语句开场,以提交或回滚终了,可以是显式的,也可是隐式的执行DDL语句。在执行一个SQL语句出现错误时,该语句一切影响被回滚
19、,好似该语句没有被执行一样,但它不会引起当前事务先前的任务的丧失。 在ORACLE中一个事务是由一个可执行的SQL语句开场 一个事务以以下任何一个出现而终了 当COMMIT或ROLLBACK没有SAVEPOINT子句语句发出。 一个DDL语句被执行。在DDL语句执行前、后都隐式地提交。用户吊销对ORACLE的衔接当前事务提交用户进程异常中止当前事务回滚。 .Oracle9i 事务管理提交事务对于与回滚段相关的内部事务表记录提交事务,并赋给一个相应的独一系统修正号SCN,记录在表中;在SGA的日志缓冲区中日志项由LGWR进程写入到在线日志文件, 这是构成提交事务的原子事务;在行上和表上的封锁被释
20、放;该事务标志为完成。Commit.Oracle9i 事务管理回滚事务在回滚整个事务没有援用保管点时,有以下情况:在事务中一切SQL语句作的全部修正,利用相应的回滚段被吊销;一切数据的事务封锁被释放;事务终了。Rollback当事务回滚到一保管点具有Savepoint时,有以下情况:仅在该保管点之后执行的语句被吊销;该指定的保管点依然被保管,该保管点之后所建立的保管点被删除;自该保管点之后所获取的全部表封锁和行封锁被释放,但指定的保管点以前所获取的全部数据封锁继续坚持;该事务仍可继续。Rollback To Save .Oracle9i 事务管理保管点保管点Savepoint是在一事务范围内的
21、中间标志,经常用于将一个长的事务划分为小的部分。保管点可标志长事务中的任何点,允答应回滚该点之后的任务。在运用程序中经常运用保管点;例如一过程包含几个函数,在每个函数前可建立一个保管点,假设函数失败,很容易前往到每一个函数开场的情况。在回滚到一个保管点之后,该坚持点之后所获得的数据封锁被释放。.Oracle9i 方案对象管理创建表建立表主要指定义以下信息:列定义完好性约束表所在表空间存储特性可选择的聚集从一查询获得数据语法格式:Create Table TableName ( Column1 Datatype Default expression constraint, Column2 Dat
22、atype Default expression constraint,)Storage子句其他子句;.Oracle9i 方案对象管理创建表Create Table New_Dept(DPTNO Number(2),DNAME Char(6),LOC Char(13);创建视图Create View View_Name As QueryCreate View Emp_View As Select EmpNo,Ename,SalFrom EmpWhere Sal3000;.Oracle9i 方案对象管理序列生成独一整数的方式对象Create Sequence Sequence_Name Star
23、t With Increment By Maxvalue | NoMaxvalue Minvalue | NoMinvalueCreate Sequence Dept_Seq Start With 60 Increment by 2 Maxvalue 100援用序列的Currval、Nextval Insert Into Dept Values(Nextval,China);.Oracle9i 方案对象管理同义词表、视图、序列或其他方式对象的别名公用同义词:特定用户方式中运用,该用户控制公用同义词对其他用户的运用公用同义词:对数据库的每个用户都可用语法格式:CREATE PUBLIC SYNO
24、NYM SY_NAME FOR OBJECT;实例:CREATE SYNONYM CUST FOR CUSTOMERS;CREATE PUBLIC SYNONYM SALE FOR SALESREPS;SELECT * FROM CUST;.Oracle9i 方案对象管理用户管理Create user user_name identified by password Grant priviate to user_name .培训目录Oracle9i 的安装、配置用户数据库的建立和根本维护Oracle9i数据库管理根本知识Sql*plus工具和PL/SQL言语简介.SQL*Plus工具Sql*p
25、lus是用户常用的运用程序之一交互式SQL语句编辑、编译、执行环境PL/SQL块编辑、编译、执行环境SQL*PLUS命令编辑、编译、执行环境.SQL*Plus工具SQL*PLUS启动与封锁启动:Sqlplus -|-?logonfile.ext sqlplus scott/tigerora817 selectdept 其中selectdept: select * from dept where deptno=&1;退出:Exit|quitSQL*PLUS编辑与执行SQL语句以(;、空行、/)终了;PL/SQL语句块以(.)终了;终了输入后,输入/或RUN命令执行SQL缓冲区的语句;用户所输入的
26、内容均存储在SQL缓冲区中。.SQL*Plus工具SQL*PLUS编辑命令:L/C/A/DEL/I/CL BUFFEDIT命令/或RUN命令SAVE FILENAME REP|APPGET FILENAME LIST|NOLIST或START FILENAME ARG.SQL言语根底SQL言语简介 数据支配言语(DML):SELECT、UPDATE、INSERT、DELETE事务处置控制言语:COMMIT、ROLLBACK、SAVEPOINT数据定义言语(DDL):CREATE、ALTER、DROP数据控制言语(DCL):GRANT、REVOKE、AUDIT、ALTER SYSTEM/SESS
27、ION.SQL言语根底SELECT 语句SELECT ENAME,JOB,SAL FROM EMP E WHERE EXISTS( SELECT * FROM DEPT D WHERE DEPTNO=10 AND E.DEPTNO=D.DEPTNO);列出10号部门的一切雇员.SQL言语根底INSERT语句Insert Into Dept Values(60,SHANGHAI,CHINA);Insert Into Table_Name(Col1,Col2) Select Col1,Col2 From Another_Table Where condition;DELETE语句Delete Fr
28、om Table Where ;Drop Table Table_Name;UPDATE 语句Update MyTab Set Code=(Select Deptno From Emp Where Ename=SCOTT) Where Name=SERVICES;.PL/SQLPL/SQL简介是ORACLE对规范SQL言语的扩展添加了过程处置功能建立和执行程序单元,过程、函数、包是ORACLE的编程言语根本单位是逻辑块,包括无名块、过程、函数.PL/SQL逻辑块的方式DECLARE -阐明(变量、常量、用户数据类型) BEGIN -语句序列(SQL语句、PL/SQL语句) EXCEPTION
29、-例外处置程序(错误处置程序) END;DECLARE v_name VARCHAR2(10); BEGIN SELECT ename into v_name FROM emp; EXCEPTION WHEN TOO_MANY_ROWS THEN . END; .PL/SQLPL/SQL语法商定标示符不区分大小写在PL/SQL块中,声明部分和异常处置部分为选项,执行部分必选,至少有一条语句标示符长度1到30个字符标示符的首字符必需为A-Z,a-z,后跟字母、数字、$、_、#标示符不能与PL/SQL中的表留字同名语句之间用;分隔注释:-单行注释,/* */块注释.PL/SQLORACLE根本数据
30、类型 VARCHAR2 变长字符串,最长为2000字符。NUMBER 数值型。LONG 变长字符数据,最长为2G字节。DATE 日期型。RAW 二进制数据,最长为255字节。LONG RAW 变长二进制数据,最长为2G字节。ROWID 二六进制串,表示表的行的独一地址。CHAR 定长字符数据,最长为255。.PL/SQL数据类型数据类型子类型纯量类型数值BINARY_INTEGERNATURAL,POSITIVE NUMBERDEC,FLOAT,INT,DOUBLE,REAL字符CHARCHARACTER,STRING VARCHAR2VARCHARLONGLONG RAWRAWRAWID逻辑
31、BOOLEAN日期DATE组合类型记录RECORD表TABLE.PL/SQLORACLE与MS SQL SERVER数据类型对比.PL/SQL常量值数字常量:100,-10.25,2e-2字符常量:一切可打印的字符,空格、tab、回车符,放在单引号内,区分大小写字符串常量:有多个可打印字符组成,放在单引号内,区分大小写a,A布尔常量:true,false,null,他们不是字符串日期常量:放在单引号内,与设定的格式一致.PL/SQL用户自定义类型SUBTYPE SUB_NAME IS BASE_TYPE NOT NULL SUBTYPE BIRTHDAY IS DATE NOT NULL; S
32、UBTYPE NAME IS CHAR;运用%TYPE符号以援用变量或数据列类型 USER CHAR(8); SUBTYPE USERNAME IS USER%TYPE; SUBTYPE DEPTID IS DEPT.DEPTNO%TYPE; 用户自定义例子DECLARE SUBTYPE DEPTID IS DEPT.DEPTNO%TYPE; DEPT_ID DEPTID; BEGIN SELECT DEPTNO INTO DEPT_ID FROM DEPT WHERE DEPTNO=10; DBMS_OUTPUT.PUT_LINE(DEPT_ID); END;.PL/SQL运算符算术运算符:
33、+,-,*,/比较运算符:=,!=,=,=,=,in,not in,any,all,between and,not between and,exists,is null,is not null,like escape ,not like escape逻辑运算符:and,or,not衔接运算符:|集合运算符:union,union all,intersect,minus.PL/SQL变量和常量声明变量:v_name datatype not null :=|default expression常量声明:c_name constant datatype not null :=|default ex
34、pression例子: declare v_name char(8); v_sal number(7,2):=0; v_gender boolean not null default true; v_pi constant number(8,7):=3.1415926;在声明语句中,一个语句只能声明一个变量或常量:v_name,v_job char(8)此语句导致编译错误可运用%type将曾经声明的变量或数据库列类型制定给所声明的变量或常量可运用%rowtype将表或游标的数据构造声明为一个记录变量.PL/SQL变量和常量Declare v_name char8; v_name1 v_name
35、%type:=USER1; V_name2 emp.ename%type; v_emp1 emp%rowtype; cursor c1 is select ename,job from emp; v_emp2 c1%rowtype;运用%type声明可以进展初始化,%rowtype那么不能初始化.PL/SQL变量赋值方法声明时直接初始化:v_nit1 integer:=100;用赋值操作符::=,v_name:=abcd;用select、fetch同时为多个变量赋值 declare v_name varchar2(10); v_job varchar2(9); v_sal number(7,2
36、); cursor c1 is select ename,job,sal from emp; Begin select ename,job,sal into v_name,v_job,v_sal from emp where ename=SCOTT; dbms_output.put_line(v_name); open c1; fetch c1 into v_name,v_job,v_sal; dbms_output.put_line(v_name);.PL/SQL变量的作用域变量的作用域重声明开场到当前块终了 declare dept_rec1 dept%rowtype; cursor c1
37、 is select deptno,dname,loc from dept; begin open c1; fetch c1 into dept_rec1; dbms_output.put_line(dept_rec1.deptno); declare dept_rec2 c1%rowtype; begin dept_rec2:=dept_rec1; dbms_output.put_line(dept_rec2.dname); end; dbms_outpu.put_line(dept_rec2.dname); End;.PL/SQL条件语句IF condition THEN Sequence
38、_of_statements; END IF;IF condition THEN Sequence_of_statement1; ELSE Sequence_of_statement2; END IF;IF condition1 THEN Sequence_of_statement1; ELSIF condition2 THEN Sequence_of_statement2; ELSIF condition3 THEN Sequence_of_statement3; else 语句 END IF; .PL/SQL条件语句例子Declare v_sal number(7,2) begin sel
39、ect sal into v_sal from emp where ename=SCOTT; if v_sal100; v_s:=v_s+v_I; v_I:=v_I+1; end loop;Dbms_output.put_line(v_s);End;.PL/SQLWhile_loop循环语法: while condition loop statement end loop;条件循环Declare v_I integer:=1; v_s integer:=0;Begin while v_I=100 loop v_s:=v_s+v_I; v_I:=v_I+1; end loop;Dbms_outp
40、ut.put_line(v_s);End;.PL/SQLFor_loop循环语法: for 循环变量 in reverse 初始值表达式.终值表达式 loop 语句 end loop;知道循环次数的循环Reverse 倒循环Declare v_s integer:=0;Begin for I in 1.100 loop v_s:=v_s+I; end loop; dbms_output.put_line(v_s);End;循环变量I不用定义.PL/SQL创建过程语法: CREATE OR REPLACE PROCEDURE c_name(argin|out|in out d
41、atatype,) invoke_right is|as block;CREATE OR REPLACE PROCEDURE proC_demo(dept_no number default 10, sal_sum out number,emp_count out integer) is begin select sum(sal),count(*) into sal_sum,emp_count from emp where deptno=dept_no; End proc_demo;.PL/SQL调用过程: declare v_num integer; v_sum number(8,2); b
42、egin proc_demo(30,v_sum,v_num); dbms_output.put_line(30号部门工资总和:|v_sum|,人数:|v_num); End;.PL/SQL包一组相关过程、函数、变量、常量和游标等pl/sql程序设计元素的组合具有面向对象程序设计言语的特点包类似于java和c+言语中的类包中的元素分为共有元素和私有元素包包括包头和包体两个部分,缺一不可.PL/SQL创建包头包头只是对包内的数据类型、变量、常量、游标、子程序、异常等元素的定义声明,这些元素为公有元素语法:create or replace package package_name authid c
43、urrent_user|definer is|as 公有元素的定义 end package_name;创建包体包体是对包头定义部分的详细实现,在包体重可以定义包的私有元素(类型、变量、子程序等)语法:create or replace package body package_name is|as 私有元素定义 公有元素的实现 begin 语句; end;.PL/SQL运用包在包头和包体创建后,在pl/sql程序中运用包格式:包名.元素称号参见包的详细实例.PL/SQL触发器触发器是特殊类型的储存过程,它也储存在数据库效力器中当指定的触发事件发生时oracle自动执行一个触发器由三部分构成:触
44、发事件、触发约束和触发动作Oracle支持的触发事件包括:DML语句、DDL语句、数据库系统事件或用户事件触发约束为布尔表达式,其值为TRUE,触发事件发生触发动作为触发器要执行的PL/SQL块.PL/SQL触发器优点可以根据需求限制用户的数据处置和创建对象操作可以实施比FOREIGN KEY、CHECK等数据库声明完好性约束更复杂的检查和操作,从而保证数据数据库的一致性自动产生派生列的列值可以自动建立事件日志、同步复制数据或出版数据库数据等.PL/SQL创建触发器DML语句触发器 CREATE OR REPLACE TRIGGER schema.trigger_name BEFORE|AFT
45、ER|INSTEAD OF INSERT|DELETE|UPDATE OF COLUMN,COLUMN ON SCHEMA.TABLE_NAME|VIEW_NAMEREFERENCING OLD AS OLD|NEW AS NEWFOR EACH ROW WHEN (CONDITION)PL/SQL块|CALL_PROCEDURE.PL/SQL创建触发器DDL语句触发器CREATE OR REPLACE TIRGGER schema.Trigger_name BEFORE|AFTERCREATE|ALTER|DROPOR CREATE|ALTER|DROPON schema.SCHEMA|DA
46、TABASEPL/SQL块|CALL_PROCEDURE.PL/SQL创建触发器系统或用户触发器CREATE OR REPLACE TRIGGER schema.Trigger_name BEFORE|AFTERSTARTUP|SHUTDOWN|SERVERERROR|LOGON|LOGOFF|ON schema.SCHEMA|DATABASEPL/SQL块|CALL_PROCEDURE.PL/SQL创建触发器阐明BEFORE和AFTER指触发器的触发时序INSTEAD OF选项是ORACLE激活触发器,而不再执行触发事件。只能对视图和对象视图建立INSTEAD OF触发器在DML语句触发器中
47、,可运用INSERT、DELETE和UPDATE的组合表示,用OR分隔当建立UPDATE触发器时,可用OF进一步限制表中哪些类修正时才激活触发器FOR EACH ROW选项阐明触发器为行触发器REFERENCEING子句阐明相关称号,在行触发器的PL/SQL块和WHEN子句中可以运用相关称号参照当前行的新、旧劣值,PL/SQL块中运用相关称号时,必需在前面加冒号(:),但在WHEN子句中不加冒号(:)DDL语句触发器中,CREATE、ALTER和DROP分别阐明触发器在制定方式(用SCHEMA选项)或数据库(用DATABASE选项)中创建、修正、删除数据库对象时激活的触发器.PL/SQL创建触
48、发器阐明DDL语句触发器支持的数据库对象包括:表空间、聚集、表、视图、索引、序列、同义词、拥护、过程、函数、包等PL/SQL块时触发器的语句体,是触发器要执行的操作在PL/SQL块中不能包含COMMIT,ROLLBACK,SAVEPOINT和SET CONSTRAINT 事务控制语句CALL_PROCEDURE调用存储过程语句,格式:CALL 方式.类型.包.过程 数据库链路(参数1,参数2);参见创建触发器实例启用和禁用触发器: ALTER TRIGGERschema.trigger_name ENABLE|DISABLE;检索触发器信息:利用数据字典USER_TRIGGERS,ALL_TR
49、IGGERS,DBA_TRIGGERS删除触发器:DROP TRIGGER trig_name.PL/SQL游标指向sql内存区的指针为运用程序提供了一种对查询结果集的数据行进展单独处置的方法Pl/sql游标分为显示游标和隐式游标在每个用户会话中,可以同时翻开多个游标.PL/SQL游标操作声明游标翻开游标提取和处置游标封锁游标.PL/SQL声明游标CURSOR cursor_name parameter,parameter) RETURN return_type IS select_statement; 其中:parameter_name in datatype :=|default expression在指定数据类型时,不能运用长度约束Cursor c1 is select dname,loc from dept where deptno=30;Cursor c2(dept_no number default 10) is select dname,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学术规范的中级社会工作者考试试题及答案
- 17机械基础试题及答案
- 雕刻印章美术考试题及答案
- 2025照明工程合同范本
- 老人能力测试题目及答案
- 征战2025年系统集成试题及答案
- 安徽省vb二级考试试题及答案
- MSOffice表单设计试题及答案
- 急救相关护理试题及答案
- 经济学期中考试题及答案
- GB/T 42441-2023仿生学仿生材料、结构和构件
- 2023年中电信数智科技有限公司招聘笔试题库及答案解析
- GB 1886.358-2022食品安全国家标准食品添加剂磷脂
- GB/T 1508-2002锰矿石全铁含量的测定重铬酸钾滴定法和邻菲啰啉分光光度法
- GA/T 1788.3-2021公安视频图像信息系统安全技术要求第3部分:安全交互
- 小学六年级信息技术复习题
- 食品安全培训(食品安全知识)-课件
- 初二物理新人教版《功》公开课一等奖省优质课大赛获奖课件
- 北京大学国际政治经济学教学大纲
- 合肥市建设工程消防设计审查、消防验收、备案与抽查文书样式
- 《电气工程基础》熊信银-张步涵-华中科技大学习题答案全解
评论
0/150
提交评论