设为首页 收藏本站
查看: 1136|回复: 1

[经验分享] PL_SQL_Developer使用经验积累

[复制链接]

尚未签到

发表于 2016-11-12 08:17:42 | 显示全部楼层 |阅读模式
Shortcut:
===============================================================================
Edit/UndoCtrl+Z
Edit/RedoShift+Ctrl+Z
Edit/PL/SQL BeautifierCtrl+W(自定义)


Shift+Home选择光标位置到行首
Shift+End选择光标位置到行尾
Ctrl+Shift+Home选择光标位置到首行行首
Ctrl+Shift+End选择光标位置到尾行行尾

Object:ViewShift+Ctrl+V查看(自定义)
Object:DescribeShift+Ctrl+D结构(自定义)
Object:PropertiesShift+Ctrl+P属性(自定义)
Object:BrowseShift+Ctrl+B浏览(自定义)
Object:Edit DataShift+Ctrl+E编辑数据(自定义)
Object:Standard QueryShift+Ctrl+S标准查询(自定义)

Edit/Find ReplaceCtrl+F
Edit/Find NextCtrl+L
Edit/Find PreviousShift+Ctrl+L
Edit/Replace NextCtrl+P
EDIT/Full ScreenCtrl+F11
Edit/Go to LineCtrl+G
Edit/Next Tab PageCtrl+H
Edit/Previous Tab PageShift+Ctrl+H

Session/ExecuteF8
Session/BreakShift+Esc
Session/CommitF10
Session/RollbackShift+F10

Debug/Toggle BreakpointCtrl+B
Debug/StartF9
Debug/RunCtrl+R
Debug/Step IntoCtrl+N
Debug/Step OverCtrl+O
Debug/Step OutCtrl+T


Tools/Explain PlanF5
Tools/Code AssistantF6

Editor: Start of DocumentCtrl+PgUpORCtrl+Home
Editor:End of DocumentCtrl+PgDnORCtrl+End
Editor:Delete LineCtrl+Y
Editor:Navigate BackAlt+Left
Editor:Navigate ForwardAlt+Right
SQL Window:Previous SQLCtrl+Up
SQL Window:Next SQLCtrl+Down



1.PL/SQL Developer记住登陆密码
在使用PL/SQL Developer时,
为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;
设置方法:
PL/SQL Developer->tools->Preferences->Oracle->Logon History,
在右边界面的"Definition"中,"Store history"是默认勾选的,
再勾选上"Store with password",即可.
上述方法若不好用,使用下面的方式:

在上面所说的界面中的"Fixed Users"中,
添加需要直接选择后就可登录的用户名/密码@ORACLE_SID,
如:
cbsdb/cbsdb@cbsdb
重新登录的时候,从Oracle Logon的登录界面的Username后面的...按钮处,
选择需要登录的用户即可。

2.执行单条SQL语句(SQL Window中根据光标位置自动选择语句)
在使用PL/SQL Developer的SQL Window时,按F8键,PL/SQL Developer默认是执行该窗口的所
有SQL语句,需要设置为鼠标所在的那条SQL语句,即执行当前SQL语句;
设置方法:PL/SQL Developer->tools->Preferences->SQL Window->Window types,
勾上"AutoSelect Statement" 即可。
注意,每条语句后面要加分号。

3.格式化SQL语句
在使用PL/SQL Developer的SQL Window时,有时候输入的SQL语句太长或太乱,
希望能用比较通用的写法格式话一下,这样看起来会好看些,也好分析;
使用方法:
选中需要格式化的SQL语句,然后点击工具栏的PL/SQL beautifier按钮即可.

4.查看执行计划
在使用PL/SQL Developer的SQL Window时,有时候输入的SQL语句执行的效率,分析下表结构,
如何可以提高查询的效率,可以通过查看Oracle提供的执行计划;
使用方法:
选中需要分析的SQL语句,然后点击工具栏的Explain plan按钮(即执行计划),
或者直接按F5即可。

5.调试存储过程
在使用PL/SQL Developer操作Oracle时,有时候调用某些存储过程,或者调试存储过程;
调用存储过程的方法:
首先,在PL/SQL Developer左边的Browser中选择Procedures,
查找需要调用的存储过程;然后,选中调试的存储过程,点击右键,
选择Test,在弹出来的Test script窗口中,
对于定义为in类型的参数,需要给该参数的Value输入值;
最后点击上面的条数按钮:Start debugger或者按F9;
最后点击:RUN或者Ctrl+R。
(具体要调式一个存储过程,请参照操作手册,这个大概说明下应用)。

6.oralce精简客户端的使用
要想PL/SQL连接oracle数据库,除了PL/SQL Developer 之外还需要Oracle客户端,
有一个更方便的方法就是使用Oracle精简客户端,很多地方可以下载,文件很小,耗资源也少。
安装完成后修改安装目录下的\Oracle\ora90\network\ADMIN\tnsnames.ora文件:
格式如下:
DATABASE_NAME =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
#(SERVICE_NAME = dealer)
(SID = SID_NAME)
#(SERVER = DEDICATED)
)
)

7.关键字自动大写:
了解一点编程的常识的人都知道,编码风格很重要。
在阅读代码方面,保持一致的编码风格,阅读起来比较容易;
在执行效率方面,保持一致的编码风格,更有可能被放到共享SQL区中,
这样就提供了执行的效率。

另外,信息系统的核心是数据库,系统出问题时最先要查的就是SQL语句,
怎样在浩瀚的日志中快速找到那条SQL语句是件比较痛苦的事情。
SQL语句全部大写并不能彻底解决这一问题,
但在一堆代码中间找一行全部大写的字符相对容易些,你的眼睛会感谢你。

设置也很简单:
Tools->Preferences->Editor,将Keyword case选择Uppercase。

我一般是让关键字大写,其他比如表名,字段名等都是小写。
大家都应该养成一种自己的编码习惯,并保持下去。

8.右键菜单
在PL/SQL Developer(下面简称PLD)中的每一个文本编辑窗口,
如SQL Window,Command Window和Porgram Window,
右键点击某个对象名称,会弹出一个包含操作对象命令的菜单,我们这里称之为右键菜单。

对象类型可以是表,视图,同义词,存储过程和函数等。
根据对象类型的不同,弹出的菜单也有区别。
表和视图有View, Edit, Rename, Drop, Query data 和Edit data等功能。
View和Edit分别是查看和修改表的结构信息,如字段,主键,索引和约束等。
Query data相当于新打开一个窗口,并执行select * from 表。
Edit data相当于新打开一个窗口,并执行select * from 表 for update。
存储过程和函数有Test功能,选中后可以进入调试状态。
有时由于PLD识别错误,右键点击对象并不能出来正确的菜单,
可以在对象所在的DDL或DML语句的前面,加上分号,这样PLD就能正确的判断出对象的类型

9.Select for Update
有时我们需要把一些数据导入数据库中,如果用UE拼Insert语句,会比较麻烦,而且操作性不强。
PLD的SQL Window可以查询,新增,修改和删除表的内容。
查询自不必说,而新增,删除和修改,只需在select语句后加入for update,
对表进行行级锁定,然后点击窗口的锁型图标,即可进入编辑状态。
下面介绍一下如何从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中,把需要插入数据库的内容选中,
然后切换到PLD,按Ctrl + V,点击√,然后再点击Commit按钮,
则数据提交到表t1中,执行select * from t1可以看到内容.

10.PL/SQL Beautifier(PL/SQL 美化器)
PLD 6以上版本有对DML代码格式化的功能。
在SQL Window或Program Window中选中部分代码(如果不选则对整个窗口的代码操作),
在菜单中选Edit -> PL/SQL Beautifier,得到格式化的代码。
对于非法的DML语句或DDL语句,PLD将会在下方状态栏提示:
PL/SQL Beautifier could not parse text。
在缺省的状态下,PLD会把DML语句的每一个字段都排在单独的一行,这样不方便查看。
在菜单中选Edit à PL/SQL Beautifier Options,进入Preferences窗口,
选择Edit,进入配置文件编辑界面,在标签栏选DML,
在窗口中部的Select, Insert和Update组框中把Fit选中,然后点击Save,
把配置文件保存到PLD的安装目录下,点击Close关闭。
在Rules file中输入配置文件所在位置,点击OK,完成配置文件切换。
这时再对代码进行格式化,就可以使每一个字段尽可能的在一行上了。

11.TNS Names
菜单Help->Support Info->TNS Names,可以查看Oracle的tnsnames.ora。

12.Copy to Excel
在SQL Window中执行Select语句,在结果出来以后,右键点击下面的数据区,
选择Copy to Excel,可以把数据区的记录原样拷贝到Excel中。
但有两点需要注意:
(1)field中不能以=开始,否则Excel会误认为是函数;
(2)数字不要超过17位,否则后面的位数将会置为0,
但可以通过在数字前加'来使Excel认为该field是文本,
同时对于数据库中Numbe类型的字段,最好用to_char输出,不然可能会显示不正常;


13.保持上次打开的SQL脚本
重新进入PL/SQL Developer时,Window List能打开上次退出时的文档:
(1)将菜单Tools->Window list选项勾上;
(2)Tools->Perferences->User Interface->Options的右边,
将"Autosave desktop"勾选.
(3)退出PL/SQL Developer重新进入.

14.快速找到已知表名的表或其他对象:
在Tools菜单中,勾选上Object Browser,将对象浏览器打开,
双击对象浏览器中的某个对象所处的文件夹,
比如表都是在Tables文件夹中,
然后以尽快的速度输入表名,即可找到以你输入的几个字母开头的对象了.


15.快速关闭打开于Windows List中的文档窗口:
按住Shift键,左键点击需要关闭的文档窗口.



16.PL/SQL DEVELOPER中的专用复制(Special Copy)
如果你正在用 PL/SQL Developer 写 SQL 和 PL/SQL 代码,
随后你又要在其它工具里使用代码,例如象 3GL 这样的程序设计语言,
那么你可能需要把这些代码转换为稍微不同的格式。
让我们假设你已经在 PL/SQL Developer 里写了并测试了这样一个SQL 语句:
selectdeptno, sum(sal) mgr_sal
fromemp
wherejob = 'MANAGER'
group bydeptno
order bymgr_sal desc

例如,如果你要在Borland Delphi 里使用这个语句,你可?

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-299109-1-1.html 上篇帖子: 行列转换等经典SQL语句 下篇帖子: 如何测试sql语句性能,提高执行效率
累计签到:70 天
连续签到:1 天
发表于 2016-11-13 08:58:51 | 显示全部楼层
感谢分享啊

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表