您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 第7章Oracle10g数据库管理系统
实用数据库技术Oracle10g数据库管理系统学习内容Oracle概述Oracle10g数据库安装Oracle10g数据库卸载Oracle10g常用管理工具Oracle10g表管理使用过程和触发器Oracle概述Oracle公司Oracle数据库Oracle10g数据库安装服务器安装需求版本企业版标准版个人版最低配置CPU:Pentium166内存:128MB硬盘空间:企业版(1.76GB):标准版(1.76GB):个人版(1.72GB)视频:256色Oracle10g数据库安装客户端安装需求安装类型管理者(administrator)运行时环境(runtime)自定义(custom)最低配置CPU:Pentium166内存:128MB硬盘空间:管理者(647MB):运行时环境(486MB)Oracle10g数据库安装过程(略)Oracle数据库卸载1、停止服务2、卸载Oracle产品3、清理注册表4、清理环境变量5、清理磁盘Oracle卸载1/5开始->设置->控制面板->管理工具->服务停止所有Oracle服务Oracle卸载2/5开始->程序->OracleInstallationProducts->UniversalInstaller卸装所有Oracle产品,但UniversalInstaller本身不能被删除Oracle卸载3/5运行regeditHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services滚动这个列表,删除所有Oracle入口。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,除所有Oracle入口。Oracle卸载4/5开始->设置->控制面板->系统->高级->环境变量删除环境变量CLASSPATH和PATH中有关Oracle的设定Oracle卸载5/5从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标删除\ProgramFiles\Oracle目录重新启动计算机,重起后才能完全删除Oracle所在目录,删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,并从Windows2000目录(一般为C:\WINNT)下删除以下文件ORACLE.INI、oraodbc.ini等等。Oracle10g常用管理工具OEM控制台SQL*PLUS工具介绍Oracle10g表管理在Oracle中建表,主要有两种方式:一种是在SQL*PLUS中执行建表的SQL语句。另一种是通过OEM工具。Oracle10g数据中的数据类型数据类型类型说明CHAR字符型,最长为2000BNCHAR基于字符集的字符型,同上VARCHAR2变长字符型,最长为4000BNVARCHAR2基于字符集的变长字符型,同上VARCHAR同VARCHAR2LONG变长字符型,最长为2GBNUMBER(s,d)数字型,总位数为s位,小数位为d位,总长最大为38位DATE日期型RAW纯二进制数据类型,最长为2000BLONGRAW变长二进制数据类型,最长为2GBBLOB二进制大对象类型,最长为4GBNLOB包含定宽的多位数字符的字符大对象类型,最长为4GBCLOB包含单个字符的字符大对象类型,最长为4GBBFILE数据库外的大型二进制文件的输入指示器类型,最大为4GBPL/SQL语言基础注释变量声明运算符PL/SQL块结构控制语句PL/SQL程序设计简介PL/SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理。除此之外,可以在ORACLE数据库的某些客户端工具中,使用PL/SQL语言也是该语言的一个特点。SQL与PL/SQLPL/SQL是ProcedureLanguage&StructuredQueryLanguage的缩写。ORACLE的SQL是支持ANSI(AmericannationalStandardsInstitute)和ISO92(InternationalStandardsOrganization)标准的产品。PL/SQL是对SQL语言存储过程语言的扩展。为什么使用PL/SQL有利于客户/服务器环境应用的运行适合于客户环境PL/SQL块结构PL/SQL程序由三个块组成,即声明部分、执行部分、异常处理部分。DECLARE/*声明部分:在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数*/BEGIN/*执行部分:过程及SQL语句,即程序的主要部分*/EXCEPTION/*执行异常部分:错误处理*/END;PL/SQL块可以分为三类无名块:动态构造,只能执行一次。子程序:存储在数据库中的存储过程、函数及包等。当在数据库上建立好后可以在其它程序中调用它们。触发器:当数据库发生操作时,会触发一些事件,从而自动执行相应的程序。标识符PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同。要求和限制有:标识符名不能超过30字符;第一个字符必须为字母;不分大小写;不能用’-‘(减号);不能是SQL保留字。实例下面的例子将会删除所有的纪录,而不是KING的记录。DECLAREv_enamevarchar2(20):='KING';BEGINDELETEFROMempWHEREename=v_ename;END;如何运行PL/SQL块结构?如何运行PL/SQL块结构?建议的命名方法标识符命名规则例子程序变量V_nameV_name程序常量C_NameC_company_name游标变量Name_cursorEmp_cursor异常标识E_nameE_too_many表类型Name_table_typeEmp_record_type表Name_tableEmp记录类型Name_recordEmp_recordSQL*Plus替代变量P_nameP_sal绑定变量G_nameG_year_salPL/SQL变量类型实例插入一条记录并显示DECLARERow_idROWID;infoVARCHAR2(40);BEGININSERTINTOdeptVALUES(90,'SERVICE','BEIJING')RETURNINGrowid,dname||':'||to_char(deptno)||':'||locINTOrow_id,info;DBMS_OUTPUT.PUT_LINE('ROWID:'||row_id);DBMS_OUTPUT.PUT_LINE(info);END;PL/SQL变量类型实例其中,RETURNING子句用于检索INSERT语句中所影响的数据行数,当INSERT语句使用VALUES子句插入数据时,RETURNING子句还可将列表达式、ROWID和REF值返回到输出变量中。在使用RETURNING子句是应注意以下几点限制:不能并行DML语句;不能检索LONG类型信息;当通过视图向基表中插入数据时,只能与单基表视图一起使用。PL/SQL变量类型实例修改一条记录并显示DECLARERow_idROWID;infoVARCHAR2(40);BEGINUPDATEdeptSETdeptno=80WHEREDNAME='SERVICE'RETURNINGrowid,dname||':'||to_char(deptno)||':'||locINTOrow_id,info;DBMS_OUTPUT.PUT_LINE('ROWID:'||row_id);DBMS_OUTPUT.PUT_LINE(info);END;PL/SQL变量类型实例其中,RETURNING子句用于检索被修改行信息,当UPDATE语句修改单行数据时,RETURNING子句可以检索被修改行的ROWID值,以及行中被修改列的列表达式,并可将他们存储到PL/SQL变量或复合变量中;当UPDATE语句修改多行数据时,RETURNING子句可以将被修改行的ROWID值,以及列表达式值返回到复合变量数组中。在UPDATE中使用RETURNING子句的限制与INSERT语句中对RETURNING子句的限制相同。PL/SQL变量类型实例删除一条记录并显示DECLARERow_idROWID;infoVARCHAR2(40);BEGINDELETEdeptWHEREDNAME='SERVICE'RETURNINGrowid,dname||':'||to_char(deptno)||':'||locINTOrow_id,info;DBMS_OUTPUT.PUT_LINE('ROWID:'||row_id);DBMS_OUTPUT.PUT_LINE(info);END;PL/SQL变量类型实例RETURNING子句用于检索被删除行信息,当DELETE语句修改单行数据时,RETURNING子句可以检索被删除行的ROWID,以及被删除行中列的列表达式,并可将他们存储到PL/SQL变量或复合变量中;当UPDATE语句修改多行数据时,RETURNING子句可以将被修改行的ROWID,以及列表达式值返回到复合变量数组中。在UPDATE中使用RETURNING子句的限制与INSERT语句中对RETURNING子句的限制相同。复合类型ORACLE在PL/SQL中除了提供象前面介绍的各种类型外,还提供一种称为复合类型的类型---记录和表。记录类型使用%TYPE使用%ROWTYPE记录类型记录类型是把逻辑相关的数据作为一个单元存储起来,它必须包括至少一个标量型(数字型、字符型、布尔型、日期型)或RECORD数据类型的成员,称作PL/SQLRECORD的域(FIELD),其作用是存放互不相同但逻辑相关的信息。定义记录类型语法如下:TYPErecord_typeISRECORD(Field1type1[NOTNULL][:=exp1],Field2type2[NOTNULL][:=exp2],......Fieldntypen[NOTNULL][:=expn]);实例DECLARETYPEtest_recISRECORD(CodeVARCHAR2(10),NameVARCHAR2(30)NOTNULL:='abook');V_booktest_rec;BEGINV_book.code:='123';V_book.name:='C++Programming';DBMS_OUTPUT.PUT_LINE(v_book.code||v_book.name);END;使用%TYPE定义一个变量,其数据类型与已经定义的某个数据变量的类型相同,或者与数据库表的某个列的数据类型相同,这时可以使用%TYPE。使用%TYPE特性的优点在于:所引用的数据库列的数据类型可以不必知道;所引用的数据库列的数据类型可以实时改变。实例1DECLARE--用%TYPE类型定义与表相配的字段TYPEt_RecordISRECORD(T_noemp.empno%TYPE,T_nameemp.ename%TYPE,T_salemp.sal%TYPE);--声明接收数据的变量v_empt_Record;BEGINSELECTempno,ename,salINTOv_empFROMempWHEREempno=7788;DBMS_OUTPUT.PUT_LINE(TO_CHAR(v_emp.t_no)||v_emp.t_name||TO_CHAR(v_emp.t_sal));END;实例2DECLAREv_empnoemp.empno%TYPE:=&no;Typer_recordisrecord(v_nameemp.ename%T
本文标题:第7章Oracle10g数据库管理系统
链接地址:https://www.777doc.com/doc-14356 .html