Oracle程序开发范例宝典

Oracle程序开发范例宝典

作者:周佳星高润岭李根福

出版社:人民邮电

出版年:2015年5月

ISBN:9787115368911

所属分类:网络科技

书刊介绍

《Oracle程序开发范例宝典》内容简介

本书紧密围绕编程人员在编程中遇到的实际问题和开发中应该掌握的技术,全面介绍了使用Oracle进行程序开发的各方面技术和技巧。全书分为20章,内容包括Oracle数据库基础,SQL Plus命令行工具的使用,表及表空间基本操作,PL/SQL流程控制,基础查询,函数在查询中的应用,高级查询,索引与视图,存储过程与事务处理,触发器,游标,控制文件和日志文件的使用,分区技术,用户、角色与权限控制,Oracle性能优化,数据的备份与恢复,数据的导出和导入,闪回技术的应用,Oracle在Java开发中的应用和Oracle在VC++开发中的应用。全书共提供了460个实例,每个实例都突出了实用性,其中大部分是程序开发者梦寐以求的疑难问题的解决方案。
周佳星,高润岭,李根福编著

作品目录

前言
第1章:Oracle数据库基础
实例001、画读者与图书之间的E-R图
实例002、安装Oracle
11g数据库
实例003、卸载Oracle
11g数据库
实例004、使用SQL*Plus工具
实例005、Oracle
企业管理器和数据库配置助手
实例006、启动数据库实例到NOMOUNT模式下
实例007、启动数据库实例到MOUNT模式下
实例008、启动数据库实例到OPEN模式下
实例009、启动数据库实例到FORCE模式下
实例010、使用NORMAL方式关闭数据库
实例011、使用DBCA创建一个数据库
实例012、强制关闭Oracle数据库
实例013、查询Oracle标准数据块的大小
实例014、获取Oracle的数据文件信息
实例015、查看Oracle控制文件信息
实例016、查看Oracle的日志文件信息
实例017、查看数据库中内部系统表
实例018、使用show
parameter命令显示服务器参数
实例019、修改服务器参数
实例020、创建一个密码文件
实例021、查看当前实例的警告文件的路径
实例022、查看当前实例的用户跟踪文件的路径
实例023、修改Oracle大型池的缓存区
实例024、使用Oracle数据字典
实例025、查询当前实例进程信息
实例026、查询数据库所有段的存储空间
实例027、查询数据库所使用的数据文件
第2章:SQL
Plus命令行工具的使用
实例028、使用set
newpage命令修改空行的数量
实例029、使用set
pagesize命令修改一页的行数
实例030、使用set
linesize命令修改一行显示的最多字符
实例031、使用SET
PAUSE命令设置显示结果按页暂停
实例032、使用指定格式显示雇员的工资
实例033、使用help
index命令来查看SQL
Plus命令清单
实例034、通过DESCRIBE命令查看dba_tablespaces数据字典表
实例035、将销售员的记录保存到指定文件中
实例036、使用save命令保存SQL语句到文件中
实例037、加载并执行SQL脚本文件
实例038、使用format选项格式化员工工资格式
实例039、使用heading选项将英文列名转换为中文形式
实例040、为打印记录设置头标题和底标题
实例041、打印输出scott.emp数据表中的所有记录
实例042、使用TEXT值代替NULL值列
第3章:表及表空间基本操作
实例043、创建一个学生档案信息表students
实例044、创建students表的一个副本
实例045、用alter
table命令修改字段
实例046、用alter
table命令删除字段
实例047、用alter
table命令增加新字段
实例048、用alter
table命令重命名表名
实例049、用alter
table命令修改表空间
实例050、使用存储参数为表分配第一个盘区的大小
实例051、查询表STUDENTS_3的第一个盘区的大小
实例052、创建student_4数据表,并设置其PCTFREE和PCTUSED参数分别为20和40、实例053、创建students_5表,并指定在数据块头部存放10个事务
实例054、查询INITRANS和MAXTRANS参数的设置情况
实例055、使用NOLOGGING子句创建students_6表
实例056、查询STUDENTS_6表是否启用了缓存功能
实例057、用drop
table命令删除表
实例058、闪回功能快速恢复被删除的表
实例059、将表students_5置于只读的read
only状态值
实例060、通过表其他列修改单列值
实例061、修改多行的单个列值
实例062、修改单行的多个列值
实例063、UPDATE和SELECT语句结合使用来修改数据
实例064、删除单行数据
实例065、删除多行数据
实例066、删除所有行
实例067、从DBA_DATA_FILES数据字典中查询表空间及其数据文件
实例068、查询USERS表空间内存放的数据对象及其类型和拥有者
实例069、查询SYSAUX表空间
实例070、创建一个扩展大小为256k的表空间
实例071、创建一个扩展大小为自动管理的表空间
实例072、通过段空间管理方式创建表空间
实例073、创建一个块大小为标准块2倍的表空间
实例074、创建一个数据文件大小为2GB的大文件表空间
实例075、修改大文件表空间
实例076、更改表空间的读写状态
实例077、重命名表空间
实例078、删除表空间
实例079、创建和删除users表空间中的users02.dbf数据文件
实例080、对数据文件的自动扩展设置
实例081、创建一个数据文件大小为100MB的撤销表空间
实例082、修改UNDO表空间
实例083、切换UNDO表空间
实例084、删除UNDO表空间
实例085、查询当前例程正在使用的UNDO表空间
实例086、统计UNDO表空间中“回退块”的生成信息
实例087、查询特定UNDO段的信息
实例088、查询指定段的信息
实例089、查询临时表空间的信息
实例090、创建临时表空间组
实例091、转移临时表空间到另外一个组
实例092、把临时表空间组分配给指定的用户使用
实例093、删除临时表空间组
实例094、创建并设置默认永久表空间
实例095、创建并设置默认临时表空间
实例096、将创建的数据表置于指定的表空间中
第4章:PL/SQL流程控制
实例097、计算两个整数的和与这个两个整数的差的商
实例098、添加单行注释
实例099、添加多行注释
实例100、使用%type类型的变量输出emp表中编号为7369的员工名称和职务
实例101、声明%ROWTYPE
类型的变量rowVar_emp
实例102、声明记录类型emp_type存储一条记录信息
实例103、定义变量和常量
实例104、使用if…then语句比较两个字符串变量的长度
实例105、使用if…then…else语句判断退休年龄
实例106、使用if…then…elsif语句判断月份所属的季节
实例107、使用case语句判断指定季节所包含的月份信息
实例108、使用loop/while语句求前100个自然数的和
实例109、使用for语句求前100个自然数中偶数之和
第5章:基础查询
实例110、检索scott.emp表中职位是SALESMAN(销售员)的记录
实例111、查询多个列名
实例112、查询所有列
实例113、使用列别名
实例114、在列上加入计算
实例115、查询数字
实例116、利用_通配符进行查询
实例117、利用%通配符进行查询
实例118、利用[]通配符进行查询
实例119、利用[^]通配符进行查询
实例120、检索名称以字母“a”开头的员工信息
实例121、复杂的模糊查询
实例122、统一字段格式进行查询
实例123、在查询中去除空格
实例124、对查询结果进行格式化
实例125、利用IN谓词限定范围
实例126、利用NOT
IN限定范围
实例127、利用ALL谓词限定范围
实例128、利用ANY谓词限定范围
实例129、NOT与谓词进行组合条件的查询
实例130、查询时不显示重复记录
实例131、列出数据中的重复记录和记录条数
实例132、去除记录中指定字段的空值
实例133、获取记录中指定字段的空值
实例134、查询前5名数据
实例135、查询后5名数据
实例136、取出数据统计结果前3名数据
实例137、查询指定日期的数据
实例138、查询指定时间段的数据
实例139、按月查询数据
实例140、查询大于指定条件的数据
实例141、查询小于指定条件的数据
实例142、将系统日期转换为“YYYY-MM-DD”格式
实例143、查询工资在2000到3000之间的员工信息
实例144、统计某一个部门的雇员的最高和最低工资
实例145、利用<、>号进行区间查询
实例146、利用BETWEEN进行区间查询
实例147、利用模糊查询进行区间查询
实例148、利用OR进行查询
实例149、利用AND进行查询
实例150、同时利用OR、AND进行查询
实例151、在分组查询中使用ALL关键字
实例152、在分组查询中使用HAVING子句
实例153、在分组查询中使用CUBE运算符
实例154、在分组查询中使用ROLLUP
实例155、对统计结果进行排序
实例156、数据分组统计(单列)
实例157、按仓库分组统计图书库存(多列)
实例158、多表分组统计
实例159、使用COMPUTE
实例160、在查询时对数值进行取整
第6章:函数在查询中的应用
实例161、利用聚集函数SUM对销售额进行汇总
实例162、利用聚集函数AVG求某班学生的平均年龄
实例163、利用聚集函数MIN求最小值
实例164、利用聚集函数MAX求最大值
实例165、利用聚集函数COUNT求日销售额大于某值的商品数
实例166、使用ROUND函数
实例167、使用POWER函数
实例168、使用EXP函数
实例169、使用LOG函数
实例170、使用FLOOR函数和CEILING函数
实例171、使用三角函数
实例172、使用SYSDATE函数
实例173、使用
ADD_MONTHS函数
实例174、使用LAST_DAY函数
实例175、使用CONCAT函数
实例176、使用ASCII函数
实例177、使用SUBSTR函数
实例178、使用TO_NUMBER函数
实例179、使用TO_CHAR函数
实例180、使用REPLACE函数
实例181、用LTRIM、RTRIM和TRIM函数
实例182、使用LOWER、UPPER函数
实例183、使用LENGTH函数
实例184、使用MOD函数
实例185、使用SIGN函数
实例186、使用CAST函数
第7章:高级查询
实例186、利用FROM子句进行多表查询
实例187、使用表的别名
实例188、合并多个结果集
实例189、由IN引入的子查询
实例190、EXISTS子查询实现两表交集
实例191、使用ANY/SOME操作符的多行子查询
实例192、使用ALL操作符的多行子查询
实例193、在SELECT子句中的子查询
实例194、在子查询中使用聚集函数
实例195、使用子查询更新数据
实例196、使用子查询删除数据
实例197、使用“关联子查询”检索信息
实例198、复杂的嵌套查询
实例199、嵌套查询在查询统计中的应用
实例200、使用UNION运算符
实例201、使用EXCEPT运算符
实例202、使用INTERSECT运算符
实例203、一对多联合查询
实例204、对联合查询后的结果进行排序
实例205、简单内连接查询
实例206、复杂的内连接查询
实例207、自身连接
实例208、笛卡尔乘积(交叉连接)
实例209、使用USING子句的连接
实例210、使用ON子句的连接
实例211、LEFT
OUTER
JOIN查询
实例212、RIGHT
OUTER
JOIN查询
实例213、使用外连接进行多表联合查询
实例214、完全外连接
实例215、以&开始的替换变量
实例216、字符型和日期型替代变量
实例217、以&&开始的替代变量
实例218、替代变量可以出现的地方
实例219、使用DEFINE定义替代变量
实例220、使用ACCEPT定义替代变量
实例221、如何使用ACCEPT命令的HIDE选项
实例222、参数和替代变量的永久设置
第8章:索引与视图
实例223、创建唯一索引
实例224、创建单列索引
实例225、创建复合索引
实例226、建立B树索引
实例227、建立位图索引
实例228、建立反向键索引
实例229、基于函数的索引
实例230、对索引执行合并操作
实例231、对索引执行进行重建
实例232、显示索引信息
实例233、删除索引
实例234、创建简单视图
实例235、操作简单视图
实例236、建立只读视图
实例237、复杂视图
实例238、连接视图
实例239、查看视图定义
实例240、修改视图定义
实例241、重新编译视图
实例242、创建基于视图的视图
实例243、通过视图插入数据
实例244、通过视图修改数据
实例245、通过视图删除数据
实例246、删除视图
实例247、创建同义词
实例248、生成序列号
实例249、修改和注销序列
实例250、通过序列对象为数据表添加数据
实例251、为Books_1表定义非空约束
实例252、为Books_1表定义行级主键约束BOOK_PK
实例253、使用ALTER
TABLE…ADD语句为Books表添加主键约束
实例254、为会员表Members的QQ列定义唯一性约束
实例255、创建一个新表
EMPLOYEES_TEMP,并为其添加一个与DEPARTMENTS表之间外键约束
实例256、使用CASCADE关键字创建外键约束以及实现数据的级联删除操作
实例257、在定义约束时禁用约束
实例258、禁用已经存在的约束
实例259、激活约束
实例260、删除约束
第9章:存储过程与事务处理
实例261、创建存储过程
实例262、调用存储过程
实例263、声明一个带有IN模式的存储过程
实例264、使用“指定名称传递”的方式向其中传递参数
实例265、使用“按位置传递”的方式向其中传递参数值
实例266、使用“混合方式传递”方式传递参数
实例267、创建带默认值的存储过程
实例268、调试存储过程
实例269、创建一个存储过程,定义两个out模式参数
实例270、在PL/SQL块中调用OUT模式的存储过程
实例271、使用EXEC命令执行OUT模式的存储过程
实例272、输出变量
var_dname
和var_loc的值
实例273、创建一个存储过程,定义“in
out”参数
实例274、调用存储过程计算平方或平方根
实例275、创建计算emp表中指定部门平均工资的函数
实例276、计算部门编号为10的雇员平均工资并输出
实例277、删除函数
实例278、开始事务
实例279、提交事务
实例280、回滚事务
实例281、使用保存点(savepoint)回滚最后添加的记录
实例282、创建employees表的一个副本
实例283、tcl语句提交事务
实例284、利用AUTOCOMMIT进行事务控制
实例285、查询锁信息
实例286、监控锁
实例287、锁定数据表
实例288、死锁的产生及预防
实例289、创建程序包的包说明
实例290、创建程序包的主体
实例291、通过程序包调用存储过程和函数
实例292、删除包
第10章:触发器
实例293、创建语句触发器
实例294、语句触发器被触发
实例295、建立BEFORE语句触发器
实例296、在触发器中使用条件谓词
实例297、查看触发器
实例298、insert触发器
实例299、update触发器
实例300、delete触发器
实例301、创建instead
of触发器
实例302、创建行级触发器
实例303、限制行触发器
实例304、向emp表和dept表中插入两行相关联数据
实例305、创建事件触发器
实例306、禁用/启用触发器
实例307、以表为单位禁用/启用触发器
实例308、将删除记录自动写入日志表
实例309、限制非工作时间操作数据
实例310、限制对保护数据的操作
实例311、使用DML触发器控制数据安全
实例312、使用行触发器实现数据审计
实例313、使用触发器实现数据完整性
实例314、使用触发器实现参照完整性
实例315、实现级联更新
实例316、级联删除
实例317、删除触发器
第11章:游标
实例318、声明游标
实例319、打开游标
实例320、提取游标
实例321、关闭游标
实例322、查看游标
实例323、定义游标变量
实例324、使用带参数的游标
实例325、视图中游标的使用
实例326、创建隐式游标
实例327、使用隐式游标和for语句
实例328、使用显式游标和for语句
实例329、带子查询的游标FOR循环
实例330、cursor
for游标的使用
实例331、提取整行数据
实例332、使用游标的%found属性判断是否检索到指定编号的雇员信息
实例333、判断游标是否打开
实例334、获取游标读取的记录行数
实例335、判断记录是否存在
实例336、使用游标更新数据
实例337、使用游标删除数据
实例338、使用游标读取员工信息
实例339、使用“too_many_rows”预定义异常捕获错误信
实例340、错误编号异常
实例341、业务逻辑异常
第12章:控制文件和日志文件的使用
实例342、实现控制文件的多路复用
实例343、创建控制文件
实例344、查询控制文件信息
实例345、在system模式下向数据库中添加一个重做日志文件组
实例346、向数据库中添加一个组编号为5的重做日志文件组
实例347、更改重做日志的位置或名称
实例348、使用desc命令显示
V$LOG数据字典视图的结构
实例349、删除重做日志文件
实例350、查看归档日志文件信息
实例351、建立本地归档目标
实例352、查看并修改数据库归档模式
第13章:分区技术
实例353、为商品零售表按照销售日期所在的季度创建4个分区
实例354、为Goods表创建
HASH列分区(分区列为id)
实例355、在clients表中以province列为分区键创建列表分区
实例356、为表saleRecord创建Interval分区
实例357、在客户信息表clients中添加一个省份为“河北省”的表分区
实例358、并入表分区
实例359、创建本地索引分区
实例360、删除索引分区
实例361、重命名索引分区
第14章:用户、角色与权限控制
实例362、创建一个口令为mrsoft的mr用户
实例363、修改用户east在表空间上的磁盘限额为20m
实例364、修改用户east的新口令为123456、实例365、设置和解除用户锁定
实例366、更改用户名
实例367、删除一个用户
实例368、将系统权限授予用户
实例369、将对象权限授予用户
实例370、为用户east授予连接和开发系统权限
实例371、撤销east用户的resource系统权限
实例372、查询角色信息
实例373、创建designer角色
实例374、给角色授权
实例375、收回对象权限
实例376、回收系统权限
实例377、级联系统权限的授予
实例378、收回级联的系统权限
实例379、级联对象权限的授予
实例380、收回级联的对象权限
实例381、收回角色权限
实例382、显示角色的权限
实例383、启用/禁用角色
实例384、修改角色密码
实例385、查询HR用户被授予的系统角色
实例386、删除自定义角色
实例387、显示用户所有系统权限
实例388、对PROFILE文件的资源限制参数进行修改
实例389、显示指定PROFILE文件的资源配置信息
实例390、创建PROFILE文件实现自动锁定用户的账户
实例391、创建PROFILE文件实现设置密码的宽限期
实例392、删除已经指定给用户的PROFILE文件
第15章:Oracle性能优化
实例293、在select语句中避免使用“*”
实例394、使用truncate命令动态删除数据表
实例395、使用rowid高效删除重复记录
实例396、高效统计记录行数
实例397、尽量多使用commit
实例398、清空指定的数据表
实例399、用exists替代in谓词
实例400、修改Oracle数据库中SGA的大小
实例401、数据字典的“请求存取数”和“不命中数”
实例402、用索引提高检索效率
实例403、监视索引是否被使用
实例404、避免全表扫描
实例405、避免在索引列上用isnull
实例406、驱动表的选择
实例407、查询当前Oracle实例的日志缓冲区大小
实例408、库缓存的“请求存取数”
实例409、数据字典高速缓存的不命中情况
实例410、显示当前分配给所有会话的内存数
实例411、显示曾经分配给所有会话的最大内存数
实例412、查询V$SYSSTAT表中的统计信息
实例413、查看和修改参数large_pool_size的值
实例414、查看所有服务器进程使用的内存的总量
实例415、查看会话信息及堆栈空间的大小
实例416、查询高速缓存在调用阶段的不命中数
第16章:数据的备份与恢复
实例417、使用rman工具连接注册数据库
实例418、非一致性和一致性备份整个数据库
实例419、备份tbsp_1和ts_1表空间
实例420、备份指定的数据文件、控制文件
实例421、对system表空间进行1级增量备份
实例422、对表空间example进行2级累积增量备份
实例423、在NOARCHIVELOG模式下备份和恢复数据库
实例424、恢复ARCHIVELOG模式下的数据库
实例425、实现基于时间的不完全恢复
实例426、使用RMAN工具备份表空间
实例427、使用RMAN工具还原备份的表空间
第17章:数据的导出和导入
实例428、导出scott方案中的dept和emp表
实例429、导出scott和hr方案中的所有对象
实例430、导出表空间tbsp_1、实例431、导出整个数据库
实例432、只导出对象数据
实例433、导出dept表中部门编号为10的数据
实例434、将表dept、emp导入到SYSTEM方案中
实例435、将scott方案中的所有对象导入到system方案中
实例436、将表空间中的所有对象都导入到当前数据库中
实例437、从fulldatabase.dmp文件中导入全数据库
实例438、移动表空间时导入test.dbf数据文件
实例439、从DMP文件中提取DDL语句写入SQL脚本
实例440、导出HR方案中的regions表
实例441、将regions表导入到SCOTT方案中
实例442、调用SQL*Loader
实例443、加载TXT文件
实例444、导入excel数据
第18章:闪回技术的应用
实例444、将闪回恢复区的大小设置为4GB
实例445、启动闪回数据库
实例446、使用闪回数据库完成到某个SCN的恢复
实例447、使用flashback
table命令恢复数据
实例448、闪回丢弃技术的应用
实例449、使用闪回丢弃还原已经drop掉的表
实例450、使用闪回表命令清除记录
实例451、其他闪回技术
第19章:Oracle在Java开发中的应用
实例452、企业人事管理系统——主窗口设计
实例453、企业人事管理系统——人事管理模块设计
实例454、企业人事管理系统——待遇管理模块设计
实例455、企业人事管理系统——系统维护模块设计
第20章:Oracle在VC++开发中的应用
实例456、汽配管理系统——主窗口设计
实例457、汽配管理系统——系统登录模块设计
实例458、汽配管理系统——基础信息查询模块设计
实例459、汽配管理系统——商品信息模块设计
实例460、汽配管理系统——日常业务处理模块设计

相关推荐

微信二维码