plsql使用技巧.docx
《plsql使用技巧.docx》由会员分享,可在线阅读,更多相关《plsql使用技巧.docx(7页珍藏版)》请在冰豆网上搜索。
plsql使用技巧
1、PL/SQLDeveloper记住登陆密码
在使用PL/SQLDeveloper时,为了工作方便希望PL/SQLDeveloper记住登录Oracle的用户名和密码;
设置方法:
PL/SQLDeveloper7.1.2->tools->Preferences->Oracle->LogonHistory,"Storehistory"是默认勾选的,勾上"Storewithpassword"即可,重新登录在输入一次密码则记住了.
2、执行单条SQL语句
在使用PL/SQLDeveloper的SQLWindow时,按F8键,PL/SQLDeveloper默认是执行该窗口的所有SQL语句,需要设置为鼠标所在的那条SQL语句,即执行当前SQL语句;
设置方法:
PL/SQLDeveloper7.1.2-->tools->Preferences-->Windowtypes,勾上"AutoSelectStatement"即可.
3、格式化SQL语句
在使用PL/SQLDeveloper的SQLWindow时,有时候输入的SQL语句太长或太乱,希望能用比较通用的写法格式话一下,这样看起来会好看些,也好分析;
使用方法:
选中需要格式化的SQL语句,然后点击工具栏的PL/SQLbeautifier按钮即可.4、查看执行计划
在使用PL/SQLDeveloper的SQLWindow时,有时候输入的SQL语句执行的效率,分析下表结构,如何可以提高查询的效率,可以通过查看Oracle提供的执行计划;
使用方法:
选中需要分析的SQL语句,然后点击工具栏的Explainplan按钮(即执行计划,或者直接按F5即可.
5、调试存储过程
在使用PL/SQLDeveloper操作Oracle时,有时候调用某些存储过程,或者调试存储过程;调用存储过程的方法:
首先,在PL/SQLDeveloper左边的Browser中选择Procedures,查找需要调用的存储过程;然后,选中调试的存储过程,点击右键,选择Test,在弹出来的Testscrīpt窗口中,对于定义为in类型的参数,需要给该参数的Value输入值;最后点击上面的条数按钮:
Startdebugger或者按F9;最后点击:
RUN或者Ctrl+R
以下的技巧只针对PL/SQLDeveloper6以上版本,版本5只有其中的部分特性.
1,右键菜单
在PL/SQLDeveloper(下面简称PLD中的每一个文本编辑窗口,如SQLWindow,CommandWindow和PorgramWindow,右键点击某个对象名称,会弹出一个包含操作对象命令的菜单,我们这里称之为右键菜单.如下图:
对象类型可以是表,视图,同义词,存储过程和函数等.根据对象类型的不同,弹出的菜单也有区别.表和视图有View,Edit,Rename,Drop,Querydata和Editdata等功能.View和Edit分别是查看和修改表的结构信息,如字段,主键,索引和约束等.Querydata相当于新打开一个窗口,并执行select*from表.Editdata相当于新打开一个窗口,并执行select*from表forupdate.存储过程和函数有Test功能,选中后可以进入调试状态.
有时由于PLD识别错误,右键点击对象并不能出来正确的菜单,可以在对象所在的DDL或DML语句的前面,加上分号,这样PLD就能正确的判断出对象的类型
2,SelectforUpdate
有时我们需要把一些数据导入数据库中,如果用UE拼Insert语句,会比较麻烦,而且操作性不强.PLD的SQLWindow可以查询,新增,修改和删除表的内容.查询自不必说,而新增,删除和修改,只需在select语句后加入forupdate,对表进行行级锁定,然后点击窗口的锁型图标,即可进入编辑状态.
下面介绍一下如何从Excel中提取文本插入到数据库中
我们的Excel文件中有三列:
在数据库中建立临时表:
createtablet1(cinovarchar2(100,contnovarchar2(100,loannovarchar2(100
然后在SQLWindow中输入selectt1forupdate,并点击锁型鼠标,进入编辑状态:
用鼠标点击第一行的输入窗口,这时PLD会死锁几秒钟,然后可以见到光标在第一行的输入框中闪动,用鼠标把CINO,CONTNO,LOANNO选中:
进入Excel中,把需要插入数据库的内容选中,然后切换到PLD,按Ctrl+V:
点击r,然后再点击Commit按钮,则数据提交到表t1中,执行select*fromt1可以看到内容:
3,PL/SQLBeautifier
PLD6以上版本有对DML代码格式化的功能.在SQLWindow或ProgramWindow中选中部分代码(如果不选则对整个窗口的代码操作,在菜单中选EditaPL/SQLBeautifier,得到格式化的代码.对于非法的DML语句或DDL语句,PLD将会在下方状态栏提示PL/SQLBeautifiercouldnotparsetext.
在缺省的状态下,PLD会把DML语句的每一个字段都排在单独的一行,这样不方便查看.在菜单中选EditaPL/SQLBeautifierOptions,进入Preferences窗口,选择Edit,进入配置文件编辑界面:
在标签栏选DML,在窗口中部的Select,Insert和Update组框中把Fit选中,然后点击Save,把配置文件保存到PLD的安装目录下,点击Close关闭.在Rulesfile中输入配置文件所在位置,点击OK,完成配置文件切换.这时再对代码进行格式化,就可以使每一个字段尽可能的在一行上了.
4,TNSNames
菜单HelpaSupportInfoaTNSNames,可以查看Oracle的tnsnames.ora.
5,CopytoExcel
在SQLWindow中执行Select语句,在结果出来以后,右键点击下面的数据区,选择CopytoExcel,可以把数据区的记录原样拷贝到Excel中.但有两点需要注意:
一,field中不能以=开始,否则Excel会误认为是函数;二,数字不要超过17位,否则后面的位数将会置为0,但可以通过在数字前加l来使Excel认为该field是文本,同时对于数据库中Numbe类型的字段,最好用to_char输出,不然可能会显示不正常
下面介绍几个使用PL/SQLDeveloper过程中发现的小技巧
1.执行光标所在行SQL语句
一个sql窗口中如果有多条sql语句,点击执行或者按F8,会全部执行,其实我们需要的只是实行其中的某一条.下面介绍一种方法可以执行光标所在行SQL语句,不用选中也不用Shift+Home
Tools-->Preferences-->WindowTypes-->SQLWindow-->选中AutoSelectstatement复选框,然后Apply,就OK了.
2.使用自定义快捷键
PL/SQLDeveloper也可以像其他IDE那样使用自定义快捷键提高编写代码效率,为开发者提供方便.
如我们平时在sql窗口中使用最频繁的select*from我们就可以设置一个快捷键来简化select*from的输入.
1.建立一个文本文件shortcuts.txt,并写入如下内容:
s=SELECT*FROM
w=WHERE1=1AND
sc=SELECTcount(*FROM
复制代码
另存到PL/SQLDeveloper的安装路径下的~\PlugIns目录下
2.Tools-->Preferences-->UserInterface-->Editor-->AutoReplace,选中Enable复选框,然后浏览文件选中之前创建的shortcuts.txt,点击Apply
3.重启PL/SQLDeveloper,在sql窗口中输入s+空格,w+空格,sc+空格做测试
3.自动保存访问数据库的用户名和密码
Tools->Preferences->Oracle->LogonHistory,勾上"Storehistory"和"Storewithpassword",点击Apply
重新登录后就可以记住用户名密码了
如果各位有好的使用技巧,希望发上来,共同分享
1autoselect&autoexecute
PL/SQLDEVELOPER的自动选择,自动执行功能,我觉得用起来也特别的爽.只要启用了这个功能之后,你按F8(对应"执行"的快捷键,你就可以执行光标所在SQL语句了,而不再需要先用鼠标选取需要执行的语句了.
要启用这个功能,需要先设置一下.Tools->Preferences->SQLWindow,将AutoExecutequeries和AutoSelectstatement这两项选中,即可.
2PL/SQLBeautifier(代码格式化
当我们在写SP的时候一般都会使用这个咚咚,这样会让代码更易懂易读,附件中我整理了一个模板,大家可以直接导入即可;
支持的功能为:
关键字大写、变量小写、自动对齐、INSERT/SELECT单字段换行……
3代码段高亮
在SPWindow中,将鼠标放在左边对应的声明上,右边就会出现对应的代码段高亮显
PL/SQLDeveloper记住登陆密码
在使用PL/SQLDeveloper时,为了工作方便希望PL/SQLDeveloper记住登录Oracle
的用户名和密码;
设置方法:
PL/SQLDeveloper7.1.2->tools->Preferences->Oracle->LogonHistory,"Storehistory"是默认勾选的,勾上"Storewithpassword"即可,重新登录在输入一次密码则记住了.
2、执行单条SQL语句
在使用PL/SQLDeveloper的SQLWindow时,按F8键,PL/SQLDeveloper默认是执行该窗口的所有SQL语句,需要设置为鼠标所在的那条SQL语句,即执行当前SQL
语句;
设置方法:
PL/SQLDeveloper7.1.2-->tools->Preferences-->Windowtypes,勾上"AutoSelectStatement"即可.
3、格式化SQL语句
在使用PL/SQLDeveloper的SQLWindow时,有时候输入的SQL语句太长或太乱,希望能用比较通用的写法格式话一下,这样看起来会好看些,也好分析;
使用方法:
选中需要格式化的SQL语句,然后点击工具栏的PL/SQLbeautifier按钮即可.
4、查看执行计划
在使用PL/SQLDeveloper的SQLWindow时,有时候输入的SQL语句执行的效率,分析下表结构,如何可以提高查询的效率,可以通过查看Oracle提供的执行计划;
使用方法:
选中需要分析的SQL语句,然后点击工具栏的Explainplan按钮(即执行计划,或者直接按F5即可.
5、调试存储过程
在使用PL/SQLDeveloper操作Oracle时,有时候调用某些存储过程,或者调试存储过程;
调用存储过程的方法:
首先,在PL/SQLDeveloper左边的Browser中选择Procedures,查找需要调用的存储过程;然后,选中调试的存储过程,点击右键,选择Test,在弹出来的Testscrīpt窗口中,对于定义为in类型的参数,需要给该参数的Value输入值;最后点击上面的条数按钮:
Startdebugger或者按F9;最后点击:
RUN或者Ctrl+R.
(具体要调式一个存储过程,请参照操作手册,这个大概说明下应用.
6、oralce精简客户端的使用
要想PL/SQL连接oracle数据库,除了PL/SQLDeveloper
之外还需要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
以下的技巧只针对PL/SQLDeveloper6以上版本,版本5只有其中的部分特性.
1,右键菜单
在PL/SQLDeveloper(下面简称PLD中的每一个文本编辑窗口,如SQLWindow,CommandWindow和PorgramWindow,右键点击某个对象名称,会弹出一个包含操作对象命令的菜单,我们这里称之为右键菜单.如下图:
对象类型可以是表,视图,同义词,存储过程和函数等.根据对象类型的不同,弹出的菜单也有区别.表和视图有View,Edit,Rename,
Drop,Querydata和Edit
data等功能.View和Edit分别是查看和修改表的结构信息,如字段,主键,索引和约束等.Query
data相当于新打开一个窗口,并执行select*from表.Editdata相当于新打开一个窗口,并执行select*from
表forupdate.存储过程和函数有Test功能,选中后可以进入调试状态.
有时由于PLD识别错误,右键点击对象并不能出来正确的菜单,可以在对象所在的DDL或DML语句的前面,加上分号,这样PLD就能正确的判断出对象的类型
2,SelectforUpdate
有时我们需要把一些数据导入数据库中,如果用UE拼Insert语句,会比较麻烦,而且操作性不强.PLD的SQL
Window可以查询,新增,修改和删除表的内容.查询自不必说,而新增,删除和修改,只需在select语句后加入for
update,对表进行行级锁定,然后点击窗口的锁型图标,即可进入编辑状态.
下面介绍一下如何从Excel中提取文本插入到数据库中
我们的Excel文件中有三列:
在数据库中建立临时表:
createtablet1(cinovarchar2(100,contnovarchar2(100,loannovarchar2(100
然后在SQLWindow中输入selectt1forupdate,并点击锁型鼠标,进入编辑状态:
用鼠标点击第一行的输入窗口,这时PLD会死锁几秒钟,然后可以见到光标在第一行的输入框中闪动,用鼠标把CINO,CONTNO,LOANNO选中:
进入Excel中,把需要插入数据库的内容选中,然后切换到PLD,按Ctrl+V:
点击√,然后再点击Commit按钮,则数据提交到表t1中,执行select*fromt1可以看到内容:
3,PL/SQLBeautifier
PLD6以上版本有对DML代码格式化的功能.在SQLWindow或Program
Window中选中部分代码(如果不选则对整个窗口的代码操作,在菜单中选EditàPL/SQLBeautifier,得到格式化的代码.对于非法的DML语句或DDL语句,PLD将会在下方状态栏提示PL/SQLBeautifier
couldnotparsetext.在缺省的状态下,PLD会把DML语句的每一个字段都排在单独的一行,这样不方便查看.在菜单中选EditàPL/SQLBeautifierOptions,进入Preferences窗口,选择Edit,进入配置文件编辑界面:
在标签栏选DML,在窗口中部的Select,Insert和Update组框中把Fit选中,然后点击Save,把配置文件保存到PLD的安装目录下,点击Close关闭.在Rulesfile中输入配置文件所在位置,点击OK,完成配置文件切换.这时再对代码进行格式化,就可以使每一个字段尽可能的在一行上了.4,TNSNames菜单HelpàSupportInfoàTNSNames,可以查看Oracle的tnsnames.ora.5,CopytoExcel在SQLWindow中执行Select语句,在结果出来以后,右键点击下面的数据区,选择CopytoExcel,可以把数据区的记录原样拷贝到Excel中.但有两点需要注意:
一,field中不能以=开始,否则Excel会误认为是函数;二,数字不要超过17位,否则后面的位数将会置为0,但可以通过在数字前加'来使Excel认为该field是文本,同时对于数据库中Numbe类型的字段,最好用to_char输出,不然可能会显示不正常