ORACLE 数据库开发经验总结1

ORACLE 数据库开发经验总结(一)

---- ORACLE 数据库作为大型数据库管理系统,近年来一直占有世界上高端数据库的最大份额,其强大而完善的数据库管理功能,以及 ORACLE 公司推陈出新的不断努力,一直成为 IT 业界瞩目

<script src="http://www.pcdog.com/tech/js/Ads.js" type="text/javascript"></script>
的焦点。岭澳核电站的数据库平台采用了 ORACLE7.3 作为后端平台,前端选择了 ORACLE 公司的 DEVELOPER 2000 及 DESIGNER 2000 作为开发工具,采用了目前流行的 CLIENT/SERVER 模式。本人在 ORACLE 系统的开发中,就 ORACLE 的整套开发工具提出一些自己的体会,供同行参考。

---- 一 . ORACLE SQL PLUS 使用技巧 :

---- ①查找重复记录 :

SELECT DRAWING,DSNO FROM EM5_PIPE_PREFAB

WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5

_PIPE_PREFAB D

WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND

EM5_PIPE_PREFAB.DSNO=D.DSNO);

---- 执行上述 SQL 语句后就可以显示所有 DRAWING 和 DSNO 相同且重复的记录。

---- 删除重复记录 :

DELETE FROM EM5_PIPE_PREFAB

WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5

_PIPE_PREFAB D

WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND

EM5_PIPE_PREFAB.DSNO=D.DSNO);

---- 执行上述 SQL 语句后就可以刪除所有 DRAWING 和 DSNO 相同且重复的记录。

---- ② 快速编译所有视图

---- 当在把数据库倒入到新的服务器上后 ( 数据库重建 ) ,需要将视图重新编译一遍,因为该表空间视图到其它表空间的表的连接会出现问题,可以利用 PL/SQL 的语言特性,快速编译。

SQL >SPOOL ON.SQL

SQL >SELECT ‘ALTER VIEW ‘||TNAME||'

COMPILE;' FROM TAB;

SQL >SPOOL OFF

然后执行 ON.SQL 即可。

SQL >@ON.SQL

当然,授权和创建同义词也可以快速进行,如:

SQL >SELECT ‘GRANT SELECT ON '

||TNAME||' TO USERNAME;' FROM TAB;

SQL >SELECT ‘CREATE SYNONYM

‘ ||TNAME||' FOR USERNAME.'||TNAME||';' FROM TAB;

③ 用外联接提高表连接的查询速度

在作表连接 ( 常用于视图 ) 时,常使用以下方法来查询数据 :

SELECT PAY_NO, PROJECT_NAME

FROM A

WHERE A.PAY_NO NOT IN (SELECT PAY_

NO FROM B WHERE VALUE >=120000);

---- 但是若表 A 有 10000 条记录,表 B 有 10000 条记录,则要用掉 30 分钟才能查完,主要因为 NOT IN 要进行一条一条的比较,共需要 10000*10000 次比较后,才能得到结果。该用外联接后,可以缩短到 1 分左右的时间 :

SELECT PAY_NO,PROJECT_NAME

FROM A,B

WHERE A.PAY_NO=B.PAY_NO(+)

AND B.PAY_NO IS NULL

AND B.VALUE >=12000;

---- ④ 怎样读写文本型操作系统文件

---- 在 PL/SQL 3.3 以上的版本中, UTL_FILE 包允许用户通过 PL/SQL 读写操作系统文件。如下:

DECALRE

FILE_HANDLE UTL_FILE.FILE_TYPE;

BEGIN

FILE_HANDLE:=UTL_FILE.FOPEN(

‘ C:/','TEST.TXT','A');

UTL_FILE.PUT_LINE(FILE_HANDLE,'

HELLO,IT'S A TEST TXT FILE');

UTL_FILE.FCLOSE(FILE_HANDLE);

END;

---- 相关 UTL_FILE 数据库包详细信息可以参见相关资料。

---- ⑤ 怎样在数据库触发器中使用列的新值与旧值

---- 在数据库触发器中几乎总是要使用触发器基表的列值,如果某条语句需要某列修改前的值,使用 :OLD 就可以了,使用某列修改后的新值,用 :NEW 就可以了。如 :OLD.DEPT_NO,:NEW.DEPT_NO 。

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Oracle编程艺术:深入理解数据库体系结构》这本书介绍了Oracle数据库的架构和内部运行机制,帮助读者更好地理解如何设计和优化Oracle数据库系统。 在书中,作者通过详细介绍Oracle数据库的组成部分,如实例、数据库文件、表空间、段等,以及它们之间的关系,使读者能够对整个数据库系统的结构有一个清晰的认识。此外,书中还介绍了Oracle数据库的内存管理、数据缓存、并行处理、故障处理等方面的知识和技术,帮助读者更好地理解数据库系统的运作机制,从而能够编写出高效、稳定的Oracle应用程序。 这本书还讲述了一些关于Oracle编程的“艺术”,如如何优化SQL查询、如何设计合适的数据模型、如何使用索引等。这些技巧可以帮助开发者更好地利用Oracle数据库的特性和功能,编写出更高效、更可靠的应用程序。 总的来说,《Oracle编程艺术:深入理解数据库体系结构》是一本非常详细、系统的Oracle数据库入门和进阶书籍,适合那些想要深入了解Oracle数据库系统的开发者、管理员和DBA。它不仅提供了数据库的理论知识,还包含很多实际案例和经验总结,可帮助读者解决实际问题。 ### 回答2: Oracle编程艺术 深入理解数据库体系结构一书是一本涉及到Oracle数据库的高级编程和体系结构的专业书籍。通过深入剖析Oracle数据库技术细节,这本书让读者明白了在架构端如何优化数据库和应用程序性能。 这本书不仅教读者如何编写优化的SQL语句和存储过程,还介绍了Oracle数据库架构的方方面面,例如内存、IO、并发性以及可扩展性。阅读该书可以帮助读者了解数据库架构的各个细节,以便更好地管理数据库和提高业务性能。 此书的目标读者是拥有Oracle数据库方面的基本知识的开发人员和数据库管理员。读者将从本书中获得大量的高质量信息和最佳实践,以及各种内存、IO、并发性和可扩展性的调优技巧。 总之,Oracle编程艺术 深入理解数据库体系结构是一本深度剖析Oracle数据库核心技术的高级编程技巧书籍。如果你希望更全面地了解Oracle数据库和其应用领域,这本书会是你的极佳选择。 ### 回答3: Oracle编程艺术深入理解数据库体系结构是一本介绍Oracle数据库体系结构的重要书籍。Oracle数据库作为一个大型数据管理系统,其体系结构相当复杂,这本书为数据库开发者提供了对Oracle数据库体系结构的深入理解的详细介绍。本书从Oracle数据库存储结构、内存结构、进程管理、SQL优化、性能监视和故障排除等方面入手。 首先,本书介绍了用于存储Oracle数据库数据的不同结构,如表空间、数据文件、段、区、块等。这有助于数据库开发者了解这些结构如何相互关联,并最大化利用存储资源。 其次,本书深入讨论了Oracle数据库中的内存结构,如SGA(共享全局区)和PGA(进程全局区)。它概述了不同的内存组件的作用和大小,以及如何配置这些组件以最大限度地提高性能。 此外,本书还涵盖了Oracle进程管理的信息,如服务器进程、后台进程和用户进程。它介绍了这些进程如何协同工作来支持数据库的访问和管理,并讨论了优化进程配置的方法。 最后,本书讨论了SQL优化和性能监视,以及故障排除技术。它介绍了使用不同工具和技术来诊断和纠正潜在问题的方法,帮助数据库开发者最大化制定Oracle数据库的潜力。 总的来说,Oracle编程艺术深入理解数据库体系结构是一本对于Oracle数据库概念的详细介绍,并为数据库开发者指导如何最大限度地利用Oracle数据库的高级功能。这些功能将有助于提高性能并减少故障率,从而为数据库开发者的成功提供了重要的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值