网友分享:Oracle数据库开发技术经验浅谈
2009-05-12 21:09:28来源:未知 阅读 ()
Oracle数据库作为大型数据库管理系统,近年来一直占有世界上高端数据库的最大份额,其强大而完善的数据库管理功能,以及ORACLE公司推陈出新的不断努力,一直成为IT业界瞩目的焦点。岭澳核电站的数据库平台采用了ORACLE7.3作为后端平台,前端选择了ORACLE公司的DEVELOPER 2000 及DESIGNER 2000作为开发工具,采用了目前流行的CLIENT/SERVER模式。本人在ORACLE系统的开发中,就ORACLE的整套开发工具提出一些自己的体会,供同行参考。
一. ORACLE SQL PLUS 使用技巧:
----①查找重复记录:
[pre]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);
[/pre]
----执行上述SQL语句后就可以显示所有DRAWING和DSNO相同且重复的记录。
----删除重复记录:
[pre]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);
[/pre]
----执行上述SQL语句后就可以刪除所有DRAWING和DSNO相同且重复的记录。
----② 快速编译所有视图
----当在把数据库倒入到新的服务器上后(数据库重建),需要将视图重新编译一遍,因为该表空间视图到其它表空间的表的连接会出现问题,可以利用PL/SQL的语言特性,快速编译。
[pre]SQL >SPOOL ON.SQL
SQL >SELECT ‘ALTER VIEW ‘||TNAME||’COMPILE;’ FROM TAB;
SQL >SPOOL OFF
[/pre]
然后执行ON.SQL即可。SQL >@ON.SQL
当然,授权和创建同义词也可以快速进行,如:
[pre]SQL >SELECT ‘GRANT SELECT ON ’
||TNAME||’ TO USERNAME;’ FROM TAB;
SQL >SELECT ‘CREATE SYNONYM
‘||TNAME||’ FOR USERNAME.’||TNAME||’;’ FROM TAB;
[/pre]
③ 用外联接提高表连接的查询速度
在作表连接(常用于视图)时,常使用以下方法来查询数据:
[pre]SELECT PAY_NO, PROJECT_NAME
FROM A
WHERE A.PAY_NO NOT IN (SELECT PAY_
NO FROM B WHERE VALUE >=120000);
[/pre]
----但是若表A有10000条记录,表B有10000条记录,则要用掉30分钟才能查完,主要因为NOT IN要进行一条一条的比较,共需要10000*10000次比较后,才能得到结果。该用外联接后,可以缩短到1分左右的时间。
----⑤ 怎样在数据库触发器中使用列的新值与旧值
----在数据库触发器中几乎总是要使用触发器基表的列值,如果某条语句需要某列修改前的值,使用:OLD就可以了,使用某列修改后的新值,用:NEW就可以了。如:OLD.DEPT_NO,:NEW.DEPT_NO。
二.ORACLE DEVELOPER 2000使用技巧:
----① 改变FORM(FMX模块)运行时的Runform4.5的题头:
----DEVELOPER2000中FMX默认题头为:Developer/2000 Forms Runtime for Windows 95 / NT 你可以改为自己定义的标题,
----1. 在Form级触发器中添加触发WHEN-NEW-FORM-INSTANCE
----2. 在此触发器中写如下代码:
[pre]set_window_property(FORMS_MDI_WINDOW,TITLE,'POINT
SYSTEM 欢迎使用');
[/pre]
----② 如何隐藏菜单中的window选项:
----在创建自己的菜单时,最后选项总有window项,下面介绍如何去掉它,
----1. 创建一个Menu
----2. 在Menu中建立一个Item,命名为WINDOW。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- sql还原数据库的教程 2020-02-29
- sql语句怎么实现分离和附加数据库 2020-02-09
- SQLServer数据库的管理方法 2020-01-23
- SqlServer备份数据库的方法 2020-01-18
- 数据库如何清除日志文件 2019-12-05
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash