《plsqldeveloper 使用技巧》由会员分享,可在线阅读,更多相关《plsqldeveloper 使用技巧(34页珍藏版)》请在金锄头文库上搜索。
1、Pl/sql Developer黄艳涛黄艳涛2011-11-13PL/SQL Developer介绍介绍PL/SQL Developer 是一个为 Oracle 数据库开发存储程序单元的集成开发环境(IDE),使用 PL/SQL Developer 可以方便地创建你的客户/服务器应用程序的服务器部分。主要的功能有: 使用文本编辑器写程序单元(过程、触发器等等)。 使用 Oracle SQL*Plus 编译源文件。 如果有编译错误,你必须找出它位于源文件何处,纠正它,转回到 SQL*Plus 重新编译它,然后再找下一处错误。 使用 SQL*Plus 或你的客户端应用程序测试程序单元。 使用解释计
2、划工具或 tkprof 工具优化你的 SQL 语句。 使用 SQL*Plus 或另外的工具在你的数据库里查看或修改其它对象和数据。这些任务 - 编辑、编译、纠正、测试、调试、优化和查询,在不离开 PL/SQLDeveloper IDE 的情况下都能被完成。安装安装PL/PL/sqlsql Developer Developer运行安装程序,出现如下界面: 基本一路next,直到出现以下完成界面:安装过程安装过程点Finish,开始安装。完成后出现如下界面: 完成安装完成安装点Close退出即可 Oracle客户端安装客户端安装运行”Setup.exe 选择”开始安装”,在欢迎”使用窗口”选择”
3、下一步”:Oracle客户端安装过程客户端安装过程在接下来的”选择安装类型”窗口请选择”管理员”,并确定右下角的”产品语言”中已经选择了”简体中文”,如下图:“下一步”后出现的”指定主目录详细信息”的内容不用改变,使用系统默认内容。其他选择都是“下一步”安装过程安装过程直到出现左边界面选择”安装”就可以了:如果你的xp使用了防火墙,记得要允许java通过,选择解除阻止 Oracle网络配置网络配置在接下来的”服务名”中填数据库的SID,我们常用”orcl”, 协议选择”TCP”,”主机名”填数据库服务器的IP地址,选择”是,进行测试”选择”下一步”,会提示无效的用户名或口令,测试未成功。如下图
4、:网络配置网络配置 选择”更改登录”,在”口令”部分填写帐号”system”的口令。”确定”后会提示”正在连接测试成功。” 在”网络服务名”中输入”orcl”,下一步,选择”否”,不再配置另一个Net服务名。命名方法配置完成,选择”下一步”退出Oracle Net Configuration Assistant。 选择”下一步”,安装结束,选择”退出”,确定退出安装。Tnsname.ora的配置的配置这个文件会在ORACLE_HOME/network/admin目录下,用ue或者记事本打开fbi22 = -本机连接名 (DESCRIPTION = (ADDRESS_LIST = (ADDRES
5、S = (PROTOCOL = TCP)(HOST = 192.168.1.22-服务器ip)(PORT = 1521-服务器数据库服务端口号) ) (CONNECT_DATA = (SERVICE_NAME = fbi-服务器端服务名) ) )配置说明:fbi22-连接用的主机字符串 使用使用pl/sql developer连接连接OracleOracle数据库数据库输入正确的用户名、密码、数据库名,并选择正确的连接身份后即可进入。注意:数据库名是指在本机设置的数据库别名工作区配置工作区配置单击ToolsWindow list工作区配置工作区配置2Window list 出来以后,最好拉到如
6、下位置,然后单击windowsave layout保存这样下次在打开的时候就保持这种工作界面 使用技巧,记住登陆密码使用技巧,记住登陆密码记住登陆密码设置方法:tools-Preferences-Oracle-Logon History,在右边界面的Definition中,Store history是默认勾选的,再勾选上Store with password,即可使用技巧:执行单挑语句使用技巧:执行单挑语句 说明:SQL Window中根据光标位置自动选择语句在使用PL/SQL Developer的SQL Window时,按F8键,PL/SQL Developer默认是执行该窗口的所有SQL语
7、句,需要设置为鼠标所在的那条SQL语句,即执行当前SQL语句;设置方法:PL/SQL Developer-tools-Preferences-SQL Window-Window types,勾上AutoSelect Statement 即可。注意,每条语句后面要加分号。使用技巧:格式化语句使用技巧:格式化语句说明:在使用PL/SQL Developer的SQL Window时,有时候输入的SQL语句太长或太乱,希望能用比较通用的写法格式话一下,这样看起来会好看些,也好分析;使用方法:选中需要格式化的SQL语句,然后点击工具栏的PL/SQL beautifier按钮即可使用技巧:查看执行计划使用
8、技巧:查看执行计划说明:主要是分析表是否走正确索引,降低cost值,按F5即可调试存储过程调试存储过程在使用PL/SQL Developer操作Oracle时,有时候调用某些存储过程,或者调试存储过程;调用存储过程的方法:首先,在PL/SQL Developer左边的Browser中选Procedures,查找需要调用的存储过程;然后,选中调试的存储过程,点击右键,选择Test,在弹出来的Test script窗口中,对于定义为in类型的参数,需要给该参数的Value输入值;最后点击上面的条数按钮:Start debugger或者按F9;最后点击:RUN或者Ctrl+R配置关键字大写配置关键字
9、大写说明:了解一点编程的常识的人都知道,编码风格很重要。在阅读代码方面,保持一致的编码风格,阅读起来比较容易;在执行效率方面,保持一致的编码风格,更有可能被放到共享SQL区中, 这样就提供了执行的效率。另外,信息系统的核心是数据库,系统出问题时最先要查的就是SQL语句,怎样在浩瀚的日志中快速找到那条SQL语句是件比较痛苦的事情。 SQL语句全部大写并不能彻底解决这一问题,但在一堆代码中间找一行全部大写的字符相对容易些,你的眼睛会感谢你。配置:Tools-Preferences-Editor,将Keyword case选择Uppercase。使用技巧:右键菜单使用技巧:右键菜单在PL/SQL D
10、eveloper(下面简称PLD)中的每一个文本编辑窗口,如SQL Window,Command Window和Porgram Window,右键点击某个对象名称,会弹出一个包含操作对象命令的菜单,我们这里称之为右键菜单。 对象类型可以是表,视图,同义词,存储过程和函数等。根据对象类型的不同,弹出的菜单也有区别。表和视图有View, Edit, Rename, Drop, Query data 和Edit data等功能。View和Edit分别是查看和修改表的结构信息,如字段,主键,索引和约束等。Query data相当于新打开一个窗口,并执行select * from 表。Edit data
11、相当于新打开一个窗口,并执行select * from 表 for update。存储过程和函数有Test功能,选中后可以进入调试状态。有时由于PLD识别错误,右键点击对象并不能出来正确的菜单,可以在对象所在的DDL或DML语句的前面,加上分号,这样PLD就能正确的判断出对象的类型使用技巧:使用技巧:select for update有时我们需要把一些数据导入数据库中,如果用UE拼Insert语句,会比较麻烦,而且操作性不强。PLD的SQL Window可以查询,新增,修改和删除表的内容。查询自不必说,而新增,删除和修改,只需在select语句后加入for update,对表进行行级锁定,然后
12、点击窗口的锁型图标,即可进入编辑状态。下面介绍一下如何从Excel中提取文本插入到数据库中,我们的Excel文件中有三列,在数据库中建立临时表:CREATE TABLE t1(cino varchar2(100),contno varchar2(100),loanno varchar2(100)然后在SQL Window中输入select t1 for update,并点击锁型鼠标,进入编辑状态,用鼠标点击第一行的输入窗口,这时PLD会死锁几秒钟,然后可以见到光标在第一行的输入框中闪动,用鼠标把CINO, CONTNO, LOANNO选中,进入Excel中,把需要插入数据库的内容选中,然后切换
13、到PLD,按Ctrl + V,点击,然后再点击Commit按钮,则数据提交到表t1中,执行select * from t1可以看到内容.使用技巧:使用技巧:copy to excel在SQL Window中执行Select语句,在结果出来以后,右键点击下面的数据区,选择Copy to Excel,可以把数据区的记录原样拷贝到Excel中。注意两点:(1)field中不能以=开始,否则Excel会误认为是函数;(2)数字不要超过17位,否则后面的位数将会置为0,但可以通过在数字前加来使Excel认为该field是文本,同时对于数据库中Numbe类型的字段,最好用to_char输出,不然可能会显示
14、不正常;使用技巧:保存上次打开使用技巧:保存上次打开保持上次打开的SQL脚本重新进入PL/SQL Developer时,Window List能打开上次退出时的文档:(1)将菜单Tools-Window list选项勾上;(2)Tools-Perferences-User Interface-Options的右边,将Autosave desktop勾选.(3)退出PL/SQL Developer重新进入.使用技巧:自动执行使用技巧:自动执行plsql dev 的自动选择,自动执行功能,是我觉得最方便的一个特点。只要启用了这个功能之后,你按F8(对应“执行”的快捷键),你就可以执行光标所在SQL
15、语句了,而不再需要先用鼠标选取需要执行的语句了。要启用这个功能,需要先设置一下。Tools-Preferences-SQL Window,将AutoExecute queries和AutoSelect statement这两项选中,即可。更改默认执行得快捷键F8为CtrlEnter(同toad):选择Tools-Preferences-Key Configuration-Session/Execute,然后按Ctrl+Enter.FBI代码特性代码特性使用使用oracle递归查询处理父子关系记录递归查询处理父子关系记录举例:通路表举例:通路表channel结构如下:结构如下: Id name
16、parentid * 1 管理管理 -1 34 北京北京 1 35 朝阳朝阳 34 36 团结湖团结湖 35查询语句:查询语句:select t.id,t.name,t.parentidfrom channel t start with id=34connect by prior id = parentid; strat with 指定层次开始的条件,即是说满足这个条件的行即可以做为层次树的最顶层 connect by prior指层之间的关联条件,即什么样的行是上层行的子行(自连接条件) select level ,id,name,parentid from temptable2 conne
17、ct by prior parentid(属于顶层的列)=id(子层的列) start with id =1 Oracle在在linux使用技巧使用技巧在这里,我向大家推荐xmanager这个工具,打开界面如下,一般我们经常使用的xshellXshell的基本配置的基本配置打开如下:配置完成后,点击connect连接23服务器Shell基本命令基本命令roottest1 # df h 查看磁盘大小Filesystem Size Used Avail Use% Mounted on/dev/sda5 29G 11G 17G 40% /dev/sda1 92M 12M 75M 14% /boot/
18、dev/sda2 852G 92G 717G 12% /datanone 8.0G 0 8.0G 0% /dev/shm/dev/sda3 29G 1.6G 26G 6% /u01roottest1 # ps -elf|grep resin -查看resin服务roottest1 # ps -elf|grep mysql -查看mysql服务Linux与与pc上传下载文件上传下载文件如下图:点击new file Transfer文件上传下载文件上传下载需要注意的是拖拽文件的时候,此登录用户是否此文件的权限,以及pc到服务器端是,此目录是否有写权限,如果没有,联系系统管理员Oracle数据逻辑导
19、出数据逻辑导出roottest1 # su oracle -首先切换到oracle用户oracletest1 $ exp rmsdbv1/qazxdr file=rmsdbv120111209.dmp log=a.log -说明一下 Export: Release 10.2.0.4.0 - Production on Fri Dec 9 13:55:59 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release
20、10.2.0.4.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsExport done in ZHS16GBK character set and AL16UTF16 NCHAR character set About to export specified users . exporting pre-schema procedural objects and actions. exporting foreign function library names
21、for user RMSDBV1 . exporting PUBLIC type synonyms. exporting private type synonyms. exporting object type definitions for user RMSDBV1 About to export RMSDBV1s objects . exporting database links. exporting sequence numbers. exporting cluster definitions. about to export RMSDBV1s tables via Conventio
22、nal Path . . exporting table ABODEDEDUCTRULES 2 rows exported. . exporting table ABSTRACTTREE 24 rows exported. . exporting table ADMINCHECKPOS 10 rows exported. . exporting table ADMINCUSTSTORE 4230 rows exported. . exporting table AREAS 3278 rows exportedOracle数据逻辑导入数据逻辑导入oracletest1 data$ imp sys
23、tem/oracle fromuser=rmsqxh touser=rmsqxh file=rmsqxh20111207.dmp log=a.log buffer=5400000000 -说明 Import: Release 10.2.0.4.0 - Production on Fri Dec 9 14:05:48 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Product
24、ionWith the Partitioning, OLAP, Data Mining and Real Application Testing options Export file created by EXPORT:V10.02.01 via conventional path Warning: the objects were exported by RMSQXH, not by you import done in ZHS16GBK character set and AL16UTF16 NCHAR character set. importing RMSQXHs objects i
25、nto RMSQXH. . importing table ABSTRACTTREE 25 rows imported. . importing table ADMINCHECKPOS 10 rows imported. . importing table ADMINCUSTSTORE 4230 rows imported. . importing table AREAS 3278 rows imported. . importing table ATTENDANCE 6 rows imported. . importing table ATTRIBUTE 0 rows imported. .
26、 importing table BASESTORAGELIFESTATUS 13 rows imported. . importing table BUSINESSWORKERDAYKPI 0 rows imported. . importing table BUSINESSWORKERS 0 rows imported. . importing table CARD 9 rows imported. . importing table CHANNEL 4651 rows imported. . importing table CHANNELCLASS 24 rows imported. . importing table CHANNELCLASSGROUP 0 rows imported. . importing table CHANNELCLASSGROUPDEFINE 3 rows imported. . importing table CHANNELCLASSHISTORY 1 rows imported. . importing table CHANNELCLASSRELATION 117 rows imported方寸间方寸间方寸间方寸间观全局观全局观全局观全局 咫咫咫咫尺间尺间尺间尺间控全局控全局控全局控全局