Ø 简介
本文介绍下 PL/SQL Developer 工具平常使用可能会用的到技巧,PL/SQL Develper 操作 Oracle 的利器,所以还是有必要对它运用熟练。主要包括以下内容(后续有什么新的发现将持续更新~~):
1. PL/SQL Developer 的下载地址
2. 安装中文语言包
3. 常用快捷键
4. 设置 SQL 窗口显示行号
5. 设置编写 SQL 关键字,自动转大小写
6. 设置 SQL自动替换(快速编写)
7. 设置 SQL 窗口查询(SELECT)所有数据
8. 设置 SQL 窗体字体大小
9. 取消 SQL 窗体中注释字体倾斜显示
10. 禁用自动备份 SQL 功能
11. 清除登录历史记录
12. 使用“PL/SQL 美化器”进行 SQL 格式化
13. 动态执行表不可访问,本会话的自动统计被禁用(执行 SQL 弹框报错)
1. PL/SQL Developer 的下载地址
官网下载地址:https://www.allroundautomations.com/registered-plsqldev/
链接: https://pan.baidu.com/s/16lUQj0f77jFZa-S_p6_C5g 提取码: 1u8y
2. 安装中文语言包
1) 在我的网盘中下载的的 11.0.6 版本,包含一个中文语言包程序,下载后点击安装;
2) 打开 PL/SQL Developer,选择菜单栏 Tools -> Preferences -> Appearance, 选择 Chinese.lang 即可,如图:
设置中文后的效果:
3. 常用快捷键
切换 SQL 窗口 | Ctl + Tab |
F8 | 执行 SQL |
说明:自定义快捷键,可选择菜单栏 工具 -> 首选项 -> 用户界面 -> 键盘配置,中进行配置。
4. 设置 SQL 窗口显示行号
选择菜单栏 工具 -> 首选项 -> 窗口类型 -> SQL 窗口,如图:
5. 设置编写 SQL 关键字,自动转大小写
选择菜单栏 工具 -> 首选项 -> 用户界面 -> 编辑器,如图:
说明:只有编辑时才会根据设置转换大小写,打开已编辑的 SQL 文件并不会转换。
6. 设置 SQL自动替换(快速编写)
我们可以使用模板功能,设置编写 SQL 时通过简写,自动替换为对应的 SQL,例如:SELECT * FROM,这样代码我们经常写,我们可以设置模板SF=SELECT * FROM,编写时只需 SF + 空格,就可以自动补全了。
1) 选择菜单栏 工具 -> 首选项 -> 用户界面 -> 编辑器 -> 自动替换,如图:
2) 编辑需要替换的 SQL 语句,保存 *.txt 文件即可
说明:多个快捷方式,采用换行分开
7. 设置 SQL 窗口查询(SELECT)所有数据
默认情况下,PL/SQL Developer 查询数据只会显示 15 条记录(就是显示不完全,会显示下一页和最后一页),我们需要进行设置,每次查询显示所有数据。
选择菜单栏 工具 -> 首选项 -> 窗口类型 -> SQL 窗口 -> 所有记录,如图:
8. 设置 SQL 窗体字体大小
选择菜单栏 工具 -> 首选项 -> 用户界面 -> 字体 -> 编辑器 -> 选择中进行设置。
9. 取消 SQL 窗体中注释字体倾斜显示
选择菜单栏 工具 -> 首选项 -> 用户界面 -> 编辑器 -> 语法高亮 -> 将注释中的倾斜的勾去掉。
10. 禁用自动备份 SQL 功能
我们编写的 SQL 文件,PL/SQL Developer 会帮我们自动备份,如果不需要可以关闭该功能。选择菜单栏工具 -> 首选项 -> 文件 -> 备份 -> 备份文件中选择禁用。
11. 清除登录历史记录
配置 -> 首选项 -> Oracle -> 登录历史 -> 在历史中进行删除。
12. 使用“PL/SQL 美化器”进行 SQL 格式化
当我编写了复杂 SQL,例如存储过程、多表查询等。此时可能发现 SQL比较难以阅读,或者其他同事写的 SQL 查询了十几张表都不换行,这时我们可以使用“PL/SQL 美化器”帮我们把代码格式化,阅读就相当容易了。例如:
1) 格式化前
2) 格式化后
3) 实现方式很简单,点击工具中的“PL/SQL 美化器”即可
13. 动态执行表不可访问,本会话的自动统计被禁用(执行 SQL 弹框报错)
当使用普通用户如 scott 用户登录 PL/SQL Developer 后,执行 SQL 可能如下错误:
该问题是因为 scott 权限不足,所以分配以下3个权限即可:
首先,使用 sys 用户登录(system 用户不可以)
sqlplus sys/syspwd@orcl as sysdba
grant select on v_$session to scott;
或者
grant select on v_$session to public; #该权限授予所有用户
grant select on v_$sesstat to scott;
或者
grant select on v_$sesstat to public; #该权限授予所有用户
grant select on v_$statname to scott;
或者
grant select on v_$statname to public; #该权限授予所有用户
除了以上逐个视图授权,还可以直接赋予 scott 用户 dba 的权限:
grant dba to scott; #慎用
另外,解决该问题还可以将“自动统计”的功能关闭【但是不推荐】
选择菜单栏 工具 -> 首选项 -> Oracle -> 选项 -> 将自动统计的勾去掉