电脑技术学习

Oracle数据库开发经验浅谈

dn001
  ORACLE数据库作为大型数据库管理系统,近年来一直占有世界上高端数据库的最大份额,其强大而完善的数据库管理功能,以及ORACLE公司推陈出新的不断努力,一直成为IT业界瞩目的焦点。岭澳核电站的数据库平台采用了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