2022Oracle数据库开发技巧Oracle数据库开发技巧Oracle开发的过程中,有不少麻烦的问题。以下是我收集的Oracle数据库开发技巧,希望大家仔细阅读!Oracle数据库开发技巧ORACLE数据库作为大型数据库管理系统,近年来始终占有世界上高端数据库的最大份额,其强大而完善的数据库管理功能,以及ORACLE公司推陈出新的不断努力,始终成为IT业界瞩目的焦点。岭澳核电站的数据库平台采纳了ORACLE7.3作为后端平台,前端选择了第1页共20页ORACLE公司的DEVELOPER2000及DESIGNER2000作为开发工具,采纳了目前流行的CLIENT/SERVER模式。本人在ORACLE系统的开发中,就ORACLE的整套开发工具提出一些自己的体会,供同行参考。一.ORACLESQLPLUS运用技巧:----①查找重复记录:SELECTDRAWING,DSNOFROMEM5_PIPE_PREFABWHEREROWID!=(SELECTMAX(ROWID)FROMEM5_PIPE_PREFABDWHEREEM5_PIPE_PREFAB.DRAWING=D.DRAWINGAND第2页共20页EM5_PIPE_PREFAB.DSNO=D.DSNO);----执行上述SQL语句后就可以显示全部DRAWING和DSNO相同且重复的记录。----删除重复记录:DELETEFROMEM5_PIPE_PREFABWHEREROWID!=(SELECTMAX(ROWID)FROMEM5_PIPE_PREFABDWHEREEM5_PIPE_PREFAB.DRAWING=D.DRAWINGANDEM5_PIPE_PREFAB.DSNO=D.DSNO);第3页共20页----执行上述SQL语句后就可以删除全部DRAWING和DSNO相同且重复的记录。----②快速编译全部视图----当在把数据库倒入到新的服务器上后(数据库重建),须要将视图重新编译一遍,因为该表空间视图到其它表空间的表的连接会出现问题,可以利用PL/SQL的语言特性,快速编译。SQL>SPOOLON.SQLSQL>SELECT‘ALTERVIEW‘||TNAME||’COMPILE;’FROMTAB;第4页共20页SQL>SPOOLOFF然后执行ON.SQL即可。SQL>@ON.SQL当然,授权和创建同义词也可以快速进行,如:SQL>SELECT‘GRANTSELECTON’||TNAME||’TOUSERNAME;’FROMTAB;SQL>SELECT‘CREATESYNONYM‘||TNAME||’FORUSERNAME.’||TNAME||’;’FROMTAB;③用外联接提高表连接的查询速度第5页共20页在作表连接(常用于视图)时,常运用以下方法来查询数据:SELECTPAY_NO,PROJECT_NAMEFROMAWHEREA.PAY_NONOTIN(SELECTPAY_NOFROMBWHEREVALUE>=120000);----但是若表A有10000条记录,表B有10000条记录,则要用掉30分钟才能查完,主要因为NOTIN要进行一条一条的比较,共须要10000*10000次比较后,才能得到结果。该用外联接后,可以缩短到1分左右的`时间。第6页共20页----⑤怎样在数据库触发器中运用列的新值与旧值----在数据库触发器中几乎总是要运用触发器基表的列值,假如某条语句须要某列修改前的值,运用:OLD就可以了,运用某列修改后的新值,用:NEW就可以了。如:OLD.DEPT_NO,:NEW.DEPT_NO。二.ORACLEDEVELOPER2000运用技巧:----①变更FORM(FMX模块)运行时的Runform4.5的题头:----DEVELOPER2000中FMX默认题头为:Developer/2000FormsRuntimeforWindows95/NT你可以改为自己定义的标题,----1.在Form级触发器中添加触发WHEN-NEW-FORM-INSTANCE第7页共20页----2.在此触发器中写如下代码:set_window_property(FORMS_MDI_WINDOW,TITLE,'POINTSYSTEM欢迎运用');----②如何隐藏菜单中的window选项:----在创建自己的菜单时,最终选项总有window项,下面介绍如何去掉它,----1.创建一个Menu----2.在Menu中建立一个Item,命名为WINDOW。----3.设置该Item属性如下:第8页共20页----MenuItemType:MagicCommandType:NullMagicItem:WindowLable:为空----③怎样创建动态下拉列表List----Developer2000中的列表是通过设置相关属性而完成数据项的列表设置的,但那只是静态的,有时你想让某项成为动态的列表随输入数据的变更而变更,就须要动手去编个小程序。下面具体介绍怎样去做:第9页共20页----有块EBOP_CABLE_ACCOUNT,下有SPECIFICATION数据项,当一进入该模块时,就将SPECIFICATION项在数据库中存储的值动态显示出来,先在Form4.5中建立一个PRCEDURE,命名为DYN_LIST:然后在FORM的WHEN-NEW-FORM-INSTANCE触发子中加入一行:DYN_LIST;----这样一进入该FMX,就会动态刷新该列表。除此之外,SPECIFICA...