Oracle SQL Handler,是专为Oracle数据库开发人员及操作人员精心打造的一款Oracle开发工具(客户端工具)。国产原创,精品奉献,其优点特点如下:
(1) 跨平台,能运行于平台 Windows(WIN8,XP...)、Linux 、Mac OS;
(2) 不需要安装Oracle客户端,解压即用,通过提供的JDBC直接连接服务器;
(3) 超智能的SQL编辑器,具有代码跟踪提示功能,弹出提示窗口列出关键字、关键字组合、函数名、列名、对象名、对象类型等,极大地提高SQL编辑效率;
(4) 超方便实用的工作表用来显示和操作SELECT语句的查询结果,象操作Excel表格一样方便地选择行/列/单元格数据,可以将工作表的数据修改写入数据库表。另外,工作表还有单条记录操作、多功能拷贝、数值统计、查找替换等实用功能;
(5) 能方便导出 XLS、CSV、INSERT Statement、HTML、XML等多种格式数据;
(6) 方便操作常用数据字典如表、视图、索引、过程、函数、触发器等(能显示和编辑编译PL/SQL代码);
(7) 中英文双语界面并能随时切换,个性化界面设置,界面简洁清爽;
(8) 运行语句“DESC tableName”清晰地显示表的所有逻辑结构信息,包括列信息、所有约束、索引、子表及触发器等;
(9) 运行语句“SCHEMA objectName”显示表或视图的DDL源码;
(10) 以缩进的阶梯格式清晰地显示SQL的解释计划;
(11) 能运行和调试PL/SQL语句,能精确定位到错误所在的行列位置;
(12) SQL格式美化,将杂乱的语句美化成缩进的美观格式;
(13) 多线程多连接,会话在运行中可以中断,或编辑,或创建新会话;
(14) 监控批量SQL语句的运行,在运行中可暂停、更正等;
(15) 连接配置简单,自动重新连接;
(16) 占用系统资源极少,启动快,连接快,运行快;
(17) 高效的语句块操作,高亮显示配对括号;
(18) 功能实用,操作简便;
......
总之,本工具确实 “小巧、实用、方便、高效”,正是Oracle数据库开发人员及操作人员所需要的强有力的工具!
主要功能如下:
将 SELECT 语句的查询结果显示在工作表,可以直接对查询结果进行再操作,如 修改、插入行、删除行、提交(将表格中的数据改变写入相应的数据库表中)、多功能拷贝、将选择的单元格数据导出为 XLS /CSV /INSERT Statement /HTML /XML 等格式、单条记录操作、能方便地查找\替换单元格中的数据、数值统计、行列移动、列排序等;能方便地查看/编辑大型的文本字段(如 CLOB、 LONG)
智能的SQL编辑器:自动弹出提示窗口,列出关键字、关键字组合、函数名、列名、对象名、对象类型、参数、包内的过程和函数,提高SQL编辑效率。例如:
(1)输入字串“sel”,一秒钟后列出以“sel”开头的所有关键字、关键字组合(如 SELECT, SELECT DISTINCT, SELECT * FROM)、函数及对象名;
(2)输入字串“abc”+“.”,如果“abc”是一表名/视图,或其别名,则列出表/视图的所有列名及数据类型;如果“abc”是一用户名,则列出该用户的所有对象;如果“abc”是一包名,则列出包内的过程和函数;
(3)输入字串“grant”+空格,列出所有权限和角色,再输入“on”+空格,列出所有对象,再输入“to”+空格,列出所有用户名;
彩色的SQL编辑器,增强可读性:
(1)关键字、注释块、引号内字符串、操作符、特殊字符等,用不同的彩色字体加以区别;
(2)如果光标前面是一个括号,高亮度显示配对的括号
支持批量SQL语句的运行:用监控器监控每条语句的运行,在运行过程中可以中断/暂停/继续正在运行的语句,甚至可以更正出错误的语句
方便高效的块操作,以满足特殊需求:
(1)“Format SQL” 按钮能将语句块中杂乱语句以缩进的格式进行重新编排,即格式美化;
(2)“Explain Plan” 按钮能快速地显示语句的执行计划;
(3)“Export” 按钮能将SQL编辑器中的 SELECT 语句块直接导出为 XLS /CSV /INSERT Statement /HTML /XML 等格式,方便于数据移植、备份、打印及存档等;
(4)支持列块操作;
(5)加上/去掉注释标记、加上/去掉引号、增加/减少缩进、大小写转换等
运行语句 “desc [user.]objectName[@dbLink]” 或 Ctrl+鼠标点击字串“[user.]objectName[@dbLink]”,如果是一表名,则能清楚地显示表的列信息(包括列名称、数据类型及长度、默认值、非空)、索引、约束条件(主键、唯一键、检查键、子表、触发器、外键、甚至外键的外键)
运行语句 “schema [user.]objectName[@dbLink]”,如果是一表名或视图名或物化视图(快照),则显示其生成的脚本/语句
支持 PL/SQL 语句(包括 Procedure、 Function、Trigger、 Package),能够显示 DBMS_OUPTPUT.PUT_LINE 的输出;能够给出错误信息,甚至光标能够精确定位错误所在的行列位置,方便于调试
多线程、多连接:可以创建多个会话/连接,多个会话可以同时运行,在运行过程中可以掌控其运行状态、可以随时中断之,在运行过程中可以继续从事编辑等工作,不必等待运行完毕才能编辑
提供对常用数据字典(如 表、视图、索引、同义词、约束、过程、触发器等)的常用操作。例如,输入 “%NAME” 或 “NAME%” 或 “%NAME%”,能查找当前用户或所有用户下的包含子串 “NAME” 的所有对象名,通过弹出菜单可以对每一个对象进行操作,如修改、删除、查看等
如果是 Windows 系列的操作系统(WIN8,XP,Vista,NT...): 如果是 Linux 系列的操作系统: 如果是 Mac 系列的操作系统:
请参阅解压后的文件“How-to-start-in-Windows.txt”
备注:从网上下载的 ZIP 文件大小约 25MB ,这个 ZIP 文件已经包含了 Windows 版的 JRE(版本为 1.6.0_30,在目录JRE1.6-for-Windows),解压到一目录然后鼠标双击文件 start-in-Windows.exe 或文件 start-in-Windows.bat 即可运行本工具(或在CMD命令窗口中运行其中之一)
要求JRE的最低版本为 1.6,作者在ZIP文件中提供的JRE版本为 1.6.0_30(瘦身版 才21MB), 建议用户直接使用这个提供的JRE,它支持 Windows 7 的配色方案。
请参阅解压后的文件“How-to-start-in-Linux.txt”
请参阅解压后的文件“How-to-start-in-Mac.txt”
工具启动后首先进入 “Oracle 连接” 窗口,该窗口提供两种连接配置样本以方便用户第一次使用(样本提供了Oracle本机安装的用户SYS、SYSTEM及SCOTT的初始密码)。用户需要修改已有的连接设置(如主机、端口等),可以创建新的连接设置(在 “连接别名” 列表的输入栏中输入一新的别名),但不可以删除已有的连接设置。如果想更方便地修改、增加、删除连接设置,或连接设置比较复杂,则需要进入 “配置” 窗口去编辑。有两种途径进入 “配置” 窗口:一是点击 “Oracle 连接” 窗口右上方的 “配置” 图标按钮,二是点击工具条的 “配置” 图标按钮或 “配置” 菜单项。
“配置” 窗口提供两种类型的配置样本:
样本一:
alias=Template-1;url=127.0.0.1:1521:orcl
样本二:
alias=Template-2;url=//127.0.0.1:1521/oracleserviceorcl
样本三:
alias=Template-3;url=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=oracleserviceorcl)))
通过 “Oracle 连接” 窗口成功连接 Oracle 服务器后就可以操作数据库了。
由于本工具是一图形界面工具,因此图形界面的键盘及鼠标的通用操作同样也适用于本工具(可以通过菜单 “GUI/界面外观” 选择/切换所喜欢的界面语言、风格和背景颜色)。
作者采用顺序 “SQL编辑器 > 菜单/工具条按钮 > 工作表 > 监控器 > 数据字典 > 信息栏/进度条/状态栏” 对每一部分作详细介绍:
SQL编辑器
用来输入 SQL 语句及命令,包括 SELECT、UPDATE、INSERT、DELETE、CREATE、ALTER、DROP、TRUNCATE、GRANT、REVOKE、LOCK、COMMIT、ROLLBACK 等 Oracle SQL 语句。另外,本工具提供以下命令语句:
# desc [user.]objectName[@dbLink]
如果 objectName 是一视图或物化视图(快照),则弹出一窗口显示视图的列信息(包括列名称、数据类型及长度);如果 objectName 是一表名,则显示表的结构信息,包括列信息(列名称、数据类型及长度)、索引、约束条件(主键、唯一键、检查键、子表、触发器、外键、甚至外键的外键);如果是其它类型的,则弹出消息框指出其类型名称。
(提示:有一种简便快捷的方法查看对象的信息,即在SQL编辑器或监控器的Log 区或 Amend 区中,按下 Ctrl键+鼠标点击字符串“[user.]objectName[@dbLink]”,则弹出一窗口)
# describe [user.]objectName[@dbLink]
等同于命令 “desc [user.]objectName[@dbLink]”
# schema [user.]objectName[@dbLink]
如果 objectName 是一表名或视图名或物化视图(快照),则在监控器中显示其脚本语句,即表或视图是用什么脚本/语句如何创建的(包括索引、约束条件);如果 objectName 其它类型的,则指出其类型名称。
# explain plan for SQL
快速地显示SQL的解释计划(又叫执行计划)。通过解释计划可以清晰地看出索引的使用情况、是不是有全表扫描等信息,进而判断这条SQL语句的性能(提示:工具条的 “Explain Plan” 按钮可以直接查看选定SQL的解释计划)
# commit
提交 UPDATE、INSERT、DELETE 等语句的操作
# rollback
撤消/回滚 UPDATE、INSERT、DELETE 等语句的操作
# roll
等同于语句 “rollback”
# set autocommit on
设置 Autocommit 的状态为 ON(状态栏显示 “Autocommit: ON”),自动提交 UPDATE、INSERT、DELETE 等语句的操作,不再需要执行语句 “commit”
# set autocommit off
设置 Autocommit 的状态为 OFF(状态栏显示 “Autocommit: OFF”,默认值为 OFF),不能自动提交 UPDATE、INSERT、DELETE 等语句的操作,需要执行语句 “commit” 才能提交
# show autocommit
显示 Autocommit 的状态(ON 或 OFF)
# set timing on
设置 Timing 的状态为 ON(状态栏显示 “Timing: ON”,默认值为 ON),则在监控器的 Log区中显示每条 SQL 的开始运行时间(格式为 “时:分:秒”)及消耗的时间(格式为 “时:分:秒.毫秒”)
# set timing off
设置 Timing 的状态为 OFF(状态栏显示 “Timing: OFF”),则在监控器的 Log区中不显示 SQL 的开始运行时间及消耗的时间
# show timing
显示 Timing 的状态(ON 或 OFF)
# set echo on
设置 Echo 的状态为 ON(状态栏显示 “Echo: ON”,默认值为 ON),则在监控器的 Log区中显示 SQL 的结果时,在结果的前面也显示对应的 SQL语句
# set echo off
设置 Echo 的状态为 OFF(状态栏显示 “Echo: OFF”),则在监控器的 Log区中只显示 SQL 的结果,在结果的前面不显示对应的 SQL语句(避免大量的Log输出对内存的消耗)
# show echo
显示 Echo 的状态(ON 或 OFF)
# @filename
不需要将文件中的SQL语句拷入SQL编辑器,而是直接去读并执行外部文件中的 SQL 语句及命令,此语句对大量SQL语句的运行很有用(注:要求完整的路径名加文件名,例如:“@D:\dir1\dir2\import.sql”)
# @@filename
等同于命令 “@filename”
# run filename
等同于命令 “@filename”
本工具的SQL编辑器是一种彩色的文本编辑器:
(1)关键字、注释块、引号内字符串、操作符、特殊字符等,用不同的彩色字体加以区别(注:/* 与 */ 用来注释多行的语句块;-- 为单行注释)
(2)如果光标前面是一个括号,高亮度显示配对的括号(注:“(” 与 “)” 配对,“[” 与 “]” 配对,“{” 与 “}” 配对)
本工具的SQL编辑器具备智能提示的功能:
即只需输入部分字串,一秒钟后弹出提示窗口,列出关键字、关键字组合、函数名、列名、对象名、对象类型、包内的过程和函数,编辑SQL非常方便。分以下 3 种:
(1)关键字、函数及对象的提示功能:
即输入三个或三个以上的字母,稍等一秒钟,弹出提示窗口,列出以已输入字母开头的所有关键字、关键字组合、函数名及对象名。
例如,输入字串“sel”,则提示窗口中列出以字串“sel”开头的所有关键字、函数及对象名,如关键字 “SELECT”,“SESSION” 等,如关键字组合 “SELECT”, “SELECT DISTINCT”, “SELECT * FROM” 等。
(2)点符提示功能:
即输入点符 “.”,稍等一秒钟,弹出提示窗口,列出列名,对象名,或包内的过程和函数。
例如,输入字串“abc”+“.”
(2.1)如果“abc”是一表名/视图,或其别名,则列出表/视图的所有列名及数据类型;
(注:别名也可以是一虚拟表的别名,例如:“(select ... from ...) aliasName” )
(2.2)如果“abc”是一用户名,则列出该用户的所有对象;
(2.3)如果“abc”是一包名,则列出包内所有的过程和函数;
(2.4)如果“abc”是一序列号,则提示窗口包含两项: “CURRVAL” 及 “NEXTVAL”
(3) 空格/逗号提示功能:
即输入空格(或 TAB 键 或 Enter 回车键)或逗号,稍等一秒钟,弹出提示窗口,列出对象名、对象类型、参数。具体见如下:
(3.1 )“update”+空格,列出当前用户的所有表名/视图/快照;
(3.2 )“insert into”+空格,列出当前用户的所有表名/视图/快照;
(3.3 )“delete”+空格,列出当前用户的所有表名/视图/快照;
(3.4 )“select ... from”+空格,列出当前用户的所有表名/视图/快照;
(3.5 )“delete from”+空格,列出当前用户的所有表名/视图/快照;
(3.6 )“create”+空格,列出所有的对象类型,如 “TABLE”,“VIEW”等;
(3.7 )“create or replace”+空格,列出对象类型 “PROCEDURE”,“FUNCTION”,“VIEW”等;
(3.8 )“alter”+空格,列出所有的对象类型,如 “TABLE”,“VIEW”等;
(3.9 )“drop”+空格,列出所有的对象类型,如 “TABLE”,“VIEW”等;
(3.10)“truncate”+空格,列出 “CLUSTER” 及 “TABLE”;
(3.11)“lock”+空格,列出 “TABLE”;
(3.12)“truncate”+空格,列出 “CLUSTER”、“INDEX” 及 “TABLE”;
(3.13)“comment on”+空格,列出 “SNAPSHOT”、“TABLE”、“VIEW”;
(3.14)“create synonym ... for”+空格,列出当前用户的所有对象名;
(3.15)“create public synonym ... for”+空格,列出当前用户的所有对象名;
(3.16)“grant”+空格,列出所有的系统权限和对象权限;
(3.17)“revoke”+空格,列出所有的系统权限和对象权限;
(3.18)“grant ... to”+空格,列出所有的用户名/角色;
(3.19)“revoke ... from”+空格,列出所有的用户名/角色;
(3.20)“grant ... to ...”+逗号,列出所有的用户名/角色;
(3.21)“revoke ... from ...”+逗号,列出所有的用户名/角色;
(3.22)“revoke ...”+逗号,列出所有的系统权限和对象权限;
(3.23)“grant ...”+逗号,列出所有的系统权限和对象权限;
(3.24)“revoke ...”+逗号,列出所有的系统权限和对象权限;
(3.25)“grant ... on”+空格,列出当前用户的所有对象名;
(3.26)“revoke ... on”+空格,列出当前用户的所有对象名;
(3.27)“desc”+空格,列出当前用户的对象名;
(3.28)“describe”+空格,列出当前用户的对象名;
(3.29)“schema”+空格,列出当前用户的对象名;
(3.30)“create ... index ... on”+空格,列出当前用户的所有表名/簇名;
(3.31)“create ... trigger ... on”+空格,列出当前用户的所有表名;
(3.32)“temporary table”+空格,列出当前用户的所有临时表;
(3.33)“table”+空格,列出当前用户的所有表名;
(3.34)“view”+空格,列出当前用户的所有视图名;
(3.35)“public synonym”+空格,列出所有的公共同义词;
(3.36)“synonym”+空格,列出所有的公共同义词或当前用户的所有同义词;
(3.37)“unique index”+空格,列出当前用户的所有唯一索引;
(3.38)“bitmap index”+空格,列出当前用户的所有位图索引;
(3.39)“index”+空格,列出当前用户的所有索引;
(3.40)“indextype”+空格,列出当前用户的所有索引类;
(3.41)“constraint”+空格,列出当前用户的所有约束名;
(3.42)“table ... constraint”+空格,列出指定表的所有约束名;
(3.43)“procedure”+空格,列出当前用户的所有过程名;
(3.44)“function”+空格,列出当前用户的所有函数名;
(3.45)“package”+空格,列出当前用户的所有包;
(3.46)“package body”+空格,列出当前用户的所有包体;
(3.47)“trigger”+空格,列出当前用户的所有触发器;
(3.48)“sequence”+空格,列出当前用户的所有序列号;
(3.49)“snapshot”+空格,列出当前用户的所有快照;
(3.50)“segment”+空格,列出当前用户的所有段;
(3.51)“object”+空格,列出当前用户的所有对象;
(3.52)“database link”+空格,列出当前用户的所有数据库链;
(3.53)“library”+空格,列出当前用户的所有库名;
(3.54)“dimension”+空格,列出当前用户的所有 dimension;
(3.55)“operator”+空格,列出当前用户的所有 operator;
(3.56)“resource cost”+空格,列出所有的系统资源;
(3.57)“cluster”+空格,列出当前用户的所有簇名;
(3.58)“role”+空格,列出当前用户的所有角色;
(3.59)“user”+空格,列出所有的用户名;
(3.60)“profile”+空格,列出所有 profile;
(3.61)“type”+空格,列出当前用户的所有类型;
(3.62)“type body”+空格,列出当前用户的所有类型体;
(3.63)“temporary tablespace”+空格,列出当前用户的所有临时表空间;
(3.64)“tablespace”+空格,列出当前用户的所有表空间;
(3.65)“datafile”+空格,列出所有的数据文件;
(3.66)“controlfile”+空格,列出所有的控制文件;
(3.67)“logfile”+空格,列出所有的 log 文件;
(3.68)“database”+空格,列出所有的数据库名;
(3.69)“alter session set”+空格,列出所有的会话参数;
(3.70)“set transaction”+空格,列出 “READ ONLY”、“READ WRITE” 等;
(3.71)“set”+空格,列出 “autocommit”、“echo”、“timing” 及 “transaction”;
(3.72)“show”+空格,列出 “autocommit”、“echo” 及 “timing”
提示:当SQL编辑器的鼠标为漏斗状时,若此时按 Esc 键或改变光标的位置,则停止搜索,不再弹出提示窗口。
当提示窗口出现时,在输入的同时,提示窗口能自动查找。如果“S*”被选中,则自动查找子串开头的全串,比如,输入子串“name”,窗口搜索 “NAME1” ,“NAME2” 等;如果“*S*”被选中,则自动查找包含子串的全串,比如,输入子串“name”,窗口搜索 “FIRST_NAME”,“NAME1” ,“NAME2” 等。
按Ctrl+PdDn键或按钮则向下查找,
按Ctrl+PdUp键或按钮则向上查找。
提示窗口还支持以下的键盘/鼠标操作:
上下箭头键 - 上下移动高亮度显示条;
Home 键 - 高亮度显示第一个选项;
End 键 - 高亮度显示第后一个选项;
PgUp/PgDn;
Enter 键(或鼠标双击一选项) - 选中一选项并关闭提示窗口;
Esc 键或按钮 - 关闭提示窗口;
鼠标点击窗口上方的灰色边框 - 列排序。
本工具采用语句块的方式对SQL编辑器进行操作。语句块是这样定义的:如果SQL编辑器有文本被选中,则语句块为选中的所有文本(蓝色背景的区域);否则(未选中文本),语句块为光标所在处不含空白行的连续文本(即语句块与语句块之间用空白行分隔)。SQL编辑器左边有一语句块标识,通过语句块标识可以得知当前语句块的起始行号和结束行号。
一个语句块可以是一条SQL语句,也可以包含多条SQL语句。
如果行的末尾字符为分号 “;” 或语句的下一行为空白行或 “/”,则为一条语句的结束标记;
如果行为语句 “desc [user.]objectName[@dbLink]” 或 “describe [user.]objectName[@dbLink]” 或 “schema [user.]objectName[@dbLink]” 或 “roll” 或 “rollback” 或 “commit”,或 行以“@”或“@@”或“run ”开头,则这一行被视为一条单独的语句(不需要结束标记)
对SQL编辑器的操作,可以通过其弹出菜单(鼠标右健点击之),或主菜单 “Edit(编辑)”,或工具条的图标按钮。见下文的 “菜单/工具条按钮”
菜单/工具条按钮 工作表(Worksheet) 监控器(Monitor) 数据字典 信息栏/进度条/状态栏
# Execute Single Statement(执行单条语句)
执行SQL编辑器中的单条语句(快捷键为 Ctrl+Enter 或 F8 。注:如果是Mac机,本文中的所有 Ctrl 替换成 Command ,在菜单标注中简缩成 Cmd)
如果是 SELECT 语句,运行结果显示于工作表中,结果信息显示于信息栏;
如果是语句 “desc [user.]objectName[@dbLink]”,则弹出窗口显示对象信息;
如果是语句 “schema [user.]objectName[@dbLink]”、“explain plan for SQL” 或 “@filename”,运行结果及结果信息都显示于监控器中;
其它语句的结果信息显示于信息栏。
# Execute Statement(s) by Monitor(监控执行单/多条语句)
快捷键为 Ctrl+M 或 F9
用监控器监控SQL编辑器中当前语句块中的单条或多条语句的运行,运行结果及结果信息显示于监控器。
(注:如果语句块包含多条语句,则必须使用该菜单项或按钮,不能使用 “Execute Single Statement”;如果语句块是一条 PL/SQL 语句,则不能使用该菜单项或按钮,必须使用“Execute Single Statement”)
# Commit(提交)
当 Autocommit 的状态为 OFF,且SQL编辑器运行了 insert、delete、update 等语句后,则该菜单项或按钮可用(点击之则相当于执行语句“commit”)。
# Rollback(回滚)
当 Autocommit 的状态为 OFF,且SQL编辑器运行了 insert、delete、update 等语句后,则该菜单项或按钮可用(点击之则相当于执行语句“rollback”)。
# Explain Plan(解释计划)
将SQL编辑器中的单条SQL语句的解释计划显示于监控器,通过解释计划可以清晰地看出SQL语句的索引使用、全表扫描等情况,进而判断SQL语句的性能。
# Export(导出)
快捷键为 Ctrl+O
如果SQL编辑器选定的是一条 SELECT 语句,则该菜单项或按钮可用。将 SELECT 语句执行的结果不显示在工作表,而是直接导出为 XLS/CSV/INSERT Statement/HTML/XML 这5种格式到一外部文件,用来备份/移植/打印/存档等(如果选定的是XLS格式,或许只能导出5000条或10000条记录,这是因为受内存限制的缘故。如果用户的确需要导出很多的XLS记录,用户可以先导出多个较小的XLS文件再合并为一个大的XLS文件,或先导出为CSV格式的文件再用XLS打开CSV文件(除XLS格式外,其它4种格式的导出不受内存的限制,只受硬盘空间的限制;如果选定的是CSV格式,默认的分隔符为逗号,如果数据中本身包含了分隔符或回车符,则列值用双引号引起来,基于CSV规则))。
# Config(配置)
打开 “配置” 窗口,配置数据库的连接及工具序列号(即 serial_no)。
# Oracle Connect(Oracle 连接)
打开 “Oracle 连接” 窗口,创建一新的数据库连接/会话
# set autocommit on/off
用来切换 Autocommit 的状态(相当于运行命令 “set autocommit on” 或 “set autocommit off”)。
(当 Autocommit 的状态为 ON 时,能自动提交 insert、delete、update 等语句的操作)
# set timing on/off
用来切换 Timing 的状态(相当于运行命令 “set timing on” 或 “set timing off”)。
(当 Timing 的状态为 ON 时,在信息栏或监控器中显示每条SQL语句的开始时间及消耗的时间)
# set echo on/off
用来切换 Echo 的状态(相当于运行命令 “set echo on” 或 “set echo off”)。
(当 Echo 的状态为 OFF 时,在监控器中只显示SQL语句的结果信息而不显示对应的SQL语句)
# Disconnect(断开连接)
打开 “断开连接” 窗口,断开所选会话的数据库连接,以释放数据库资源。
(鼠标点击列表框中任一选项,按 Ctrl+A 键则选中所有选项;按住 Ctrl 键的同时,鼠标点击一选项,则选中/去选该选项;连接断开后,下次可以直接运行SQL语句,不必通过 “Oracle 连接” 窗口重新连接,因为本工具能自动重新连接)
# Load Scripts(装入脚本语句)
将外部文件中的文本装入到SQL编辑器(快捷键为 Ctrl+L)。
# Save All Scripts(保存所有的脚本语句)
将SQL编辑器中的所有文本保存到外部文件(快捷键为 Ctrl+S)。
# Cut(剪切)
将SQL编辑器的选中文本剪切到剪贴板(快捷键为 Ctrl+X)。
# Copy(拷贝)
将SQL编辑器的选中文本拷贝到剪贴板(快捷键为 Ctrl+C)。
# Paste(粘贴)
将剪贴板的文本拷到SQL编辑器(快捷键为 Ctrl+V)。
# Find & Replace(查找和替换)
打开 “查找和替换” 窗口,查找/替换SQL编辑器中相匹配的字符串(快捷键为 Ctrl+F;快捷键 F3 用来查找下一个)。
# Undo(撤销)
撤销SQL编辑器的编辑操作(快捷键为 Ctrl+Z)
# Redo(重做)
重做(或恢复)SQL编辑器的编辑操作(快捷键为 Ctrl+Shift+Z)
# Format SQL(SQL格式美化)
重新编排SQL编辑器中当前语句块,采用缩进式的格式,达到美化、整齐、易读之目的。
# Add Comments(加上注释)
给SQL编辑器中当前语句块加上注释标记(即语句块中每行的开头加上注释标记 “--”)
# Remove Comments(去掉注释)
去掉SQL编辑器中当前语句块中的所有注释标记(/* */ 及 --)
# Remove Quotation Marks(去掉引号)
Java 程序或其它程序语言中的多行SQL语句通常使用双引号“"”和加号“+”进行联接(例如 "select ..." + "where ..."),
用户要调试/运行这个SQL,需要手工地删除所有额外的双引号和加号,或采用其它的文本编辑器替换所有的双引号和加号。但有的加号是作为运算符或外连结符因而不能删除,
所以删除这些双引号和加号既费时费心又容易出错。为了方便用户,本工具特地增加了这一菜单项和按钮,通过它可以很方便、快速地删除所有额外的双引号和加号。
(例如,字串 "a\"b"+"c(+)",会变为 a\"b c(+) )
# Add Quotation Marks(加上引号)
将SQL编辑器中当前语句块的每行首尾加上双引号“"”,行与行之间用加号“+”连结,用来将调试好了的SQL语句放入 Java 程序或其它语言的程序,方便程序的编写。
# Increase Indent(增加缩进)
将SQL编辑器中当前语句块向右移动一个 Tab 位置,即 4 个空格(快捷键为 Tab)。
(Ctrl+右箭头键,则将语句块向右移动一个空格的位置)
# Decrease Indent(减少缩进)
将SQL编辑器中当前语句块向左移动一个 Tab 位置,即 4 个空格(快捷键为 Shift+Tab)。
(Ctrl+左箭头键,则将语句块向左移动一个空格的位置)
# Column Block Operation(列块操作)
打开 “列块操作” 窗口,对SQL编辑器中当前语句块进行列块操作。
(通过鼠标的任意拖动或双击选择一列块,对列块进行拷贝、剪切、删除、左右移动等操作)
# To Upper Case(转为大写)
将SQL编辑器中选中的文本转换为大写字母。
# To Lower Case(转为小写)
将SQL编辑器中选中的文本转换为小写字母。
# Help Topics(帮助主题)
打开 “帮助主题” 窗口(快捷键为 F1)。
(如果是中文界面,则调入工作目录中的帮助文件 “Help-in-Chinese.html”;如果是英文界面,则调入工作目录中的帮助文件 “Help-in-English.html”)
# About Oracle SQL Handler(关于 Oracle SQL Handler)
打开 “关于 Oracle SQL Handler” 窗口,显示 本工具作者的微信号、微信二维码、QQ号及E-mail地址,工具版本号、操作系统的类型、JRE 版本号、当前会话连接的 Oracle 数据库的版本号、软件的版权声明及留言页面等信息。
如果SQL编辑器中执行的是一条 SELECT 语句,则 SELECT 语句的结果显示在工作表(为了避免显示太多记录对内存及性能的影响,所以在工作表的工具条上有一“限定查询记录”输入框,默认限定2000行。如果超出2000行,每读5000条检查内存使用情况,如果剩下内存不多则不再继续读!所以通常最多只能显示1-2万行。作者认为没必要显示太多记录,显示得太多,用户不可能每一条去查看/编辑。这就要求用户不要将“限定查询记录”输入框的值设置得太大,或在写SELECT语句时尽量加上过滤条件显示所需要的数据。如果用户的确想查看或保存太多的记录,可以借助上面的“导出”功能)
对工作表的操作可以通过图标按钮,或主菜单“Worksheet/工作表” 或弹出菜单(鼠标右击之)。各项功能及使用介绍如下:
# Insert A Blank Row(插入一空行)
快捷键为 Ctrl+I
如果有单元格被选中,则在第一个选中单元格的前面插入一空白行,否则在工作表的末尾追加一空白行(注:只是在工作表中插入一空白行,而不是插入一空白行到数据库表中)。
# Duplicate A Row(复制一行)
快捷键为 Ctrl+U
如果要插入一行,且这一行与已存在的一行的内容大部分是相同的,如果使用“插入一空行”,则要输入的内容太多,这时应使用“复制”,也就是,先选中某一行的全部或部分单元格,再按“复制一行”这个菜单项,则复制了一行,再作一些修改,这样就很快地插入了一行。
# Delete Selected Row(s)(删除选定的行)
快捷键为 Ctrl+D
如果有单元格被选中,则从工作表中删除选中单元格所在的行(注:只是在工作表中删除选定的行,而不是删除数据库表中的记录)。
# Commit Changes(提交更改)
快捷键为 Ctrl+S
如果按钮图标为红色或菜单项可见,则可以通过修改工作表中的数据去更新数据库的表(即 工具条最右边显示的表名或视图名)。
如果该菜单项可见并且为黑色字体,则表示工作表的数据发生了改变(修改、插入行、删除行),可以将所有的改动提交/写入到数据库的表中(提交过程中如果某一行发生错误,则高亮度显示错误行并且消息栏给出简短的错误信息。如此反复地更正,直至提交成功为止。提交成功后,该菜单项将变成灰色)。
# Find & Replace(查找和替换)
快捷键为 Ctrl+F
弹出 “查找和替换” 窗口,对工作表进行查找或替换(当工作表中的数据量很大时,此功能显得特别有用)。
数据类型分为 “数字型的单元格” 及 “非数字型的单元格”(数字型的单元格,是指单元格的标题显示其数据类型为 NUMBER、FLOAT 或 INTEGER);
搜索范围分为 “所有单元格”、“选中的单元格” 及 “未选中的单元格”;
搜索方向分为 “按行搜索” 及 “按列搜索”。
# Single Record Operations(单条记录操作)
快捷键为 Ctrl+R
当工作表有很多列导致行很长时,有时对数据的查看和编辑显得不太方便,因此本工具提供了 “单条记录操作” 窗口,用竖向表格显示一条记录(即 第一列显示列名,第二列显示数据)(鼠标右击竖向表格则显示弹出菜单)。
# Copy Cell(s) With Title(拷贝单元格带标题)
快捷键为 Ctrl+W
拷贝选中的单元格及标题(列与列之间用空格补齐)
# Copy Separated Cells(拷贝分隔的单元格)
拷贝选中的单元格,列与列之间用选定的分隔符隔开。
如果将拷贝的结果保存为扩展名为 CSV 的文件,则文件能被 Microsoft Excel 打开;
如果分隔符为Tab键,则拷贝的结果能直接粘贴到打开的 Excel 文件。
(如果使用快捷键 Ctrl+C,则分隔符为 Tab 键)
# Copy Separated Title(拷贝分隔的标题)
拷贝选中单元格的标题,标题与标题之间用选定的分隔符隔开。
(注:若未选中单元格,则拷贝工作表的所有标题;该菜单项通常和菜单项 “拷贝分隔的单元格” 配合使用)
# Export Selected Cells(导出选定单元格)
快捷键为 Ctrl+O
将工作表中选定的单元格导出为 XLS/CSV/INSERT Statement/HTML/XML 这5种格式到一外部文件,用来备份/移植/打印/存档等(请参照上面的直接“导出”)
# Refresh(刷新)
刷新表格的数据(重新运行之前的 SELECT 语句)
# Number Statistic(数值统计)
对选中区域中的数字型单元格进行数值统计,包括计数、最大值、最小值、求和、平均值
# Empty Cell(s)(清空单元格)
快捷键为 Ctrl+E
清空工作表中选中的单元格
# Select All(全选)
快捷键为 Ctrl+A
选中工作表中的所有单元格
# Select Whole Row(选择整行)
快捷键为 Ctrl+L
如果某行有部分单元格被选择,则通过此菜单项选择整行
工作表还具备以下功能/操作:
(1)鼠标指向列标题,提示该列的数据类型、格式及长度;
(2)鼠标左键点击列标题,对该列进行升/降排序;
(3)鼠标左键点击行号列或按住左键拖动鼠标,则选择整行(支持Ctrl键或Shift键的配合使用,同Excel表格操作一样);
(4)鼠标右键点击列标题,拷贝单个列标题;
(5)Ctrl+鼠标左键点击列标题,则选中或去选整列单元格(同Excel不一样,Excel鼠标点击列标题则选择整列,本工具鼠标点击列标题则对列进行排序);
(6)鼠标拖动列标题,改变该列在表格中的位置;
(7)选中工作表格中的一行并按 “Alt+上下箭头键”,上下移动选中的行;
(8)“限定查询记录”输入框只接收值1至999999,支持上下箭头键及Page Up/Down 键,将输入框的值以100进行递增或递减,以此来快速地调整输入框的值;
(9)鼠标指向列标题之间的分隔线,鼠标变为水平方向的双向箭头,按住鼠标左键左右拖动则改变列的宽度;双击鼠标左键则将列调到合适的宽度以显示该列的所有单元格;如果某一行全选或表格全选,鼠标双击任一标题分隔线,则将表格的所有列调到合适宽度,这个同Excel表格操作一样;
(10)如果单元格的数据类型为 NUMBER、VARCHAR2、DATE、TIMESTAMP 等(单元格背景颜色为白色),鼠标双击则可直接编辑;
如果数据类型为大型的文本字段如 CLOB、LONG(单元格背景颜色为淡黄色),鼠标双击则弹出一窗口则可查看/编辑多行文本;
如果数据类型为 BLOB、LONG RAW 等(单元格背景颜色为灰色),不可编辑。
为了能通过修改工作表中的数据去更新数据库中的表(即 “提交更改”菜单项可见,工作表边框的左上角能显示一表名),则要求工作表中至少有一个可编辑列的列名存在于查询表。请参照以下样本:
(1)语句 “select * from tableName ...” - 合要求;
(2)语句 “select col_1, col_2 from tableName ...” - 合要求;
(3)语句 “select a.col_1, trunc(a.col_2) from tableName a ...” - 合要求;
(4)语句 “select upper(col_1),sysdate from tableName ...” - 不合要求,因为没有一个列名存在于查询表
又叫控制台,用来监控批量SQL语句的运行。
# 选项框 “遇到异常要暂停”
当该选项框选中时,如果批中某一SQL语句运行出错,则暂停在这条出错误的语句,此时要么更正这条语句重新运行之,要么忽略错误继续运行下一条语句;
否则(该选项框未选中),就算有SQL语句出错,也不暂停,继续运行下一条语句,直到批中最后一条语句运行完毕。
# 选项框 “输出 Log”
当该选项框未选中时,不输出任何 Log(通常用来避免大量 Log 的输出对内存的消耗)
鼠标右击 Log 区的文本框,则显示弹出菜单;
Ctrl键+鼠标点击 Log 区或 Amend 区中的字串 “[user.]objectName[@dbLink]” ,则弹出窗口显示字串的对象信息。
本工具提供的常用数据字典有:表、视图、索引、同义词、约束、过程、触发器、对象。
(位于监控器的右方)
通过在文本框中输入字串进行搜索(如果文本框为空,则搜索所有对象)。
文本框支持通配符 “%” 及 “*”,例如,输入 “%NAME” 或 “NAME%” 或 “%NAME%”,则查找包含子串 “NAME” 的所有对象。搜索的结果显示于文本框下方的表格,通过表格的弹出菜单可以对每一个选中的对象进行操作(如 修改、删除、查看等)。
(数据字典的表格操作同工作表的操作是一样的,它们的弹出菜单的功能/操作也很类似)
信息栏用来显示单条语句运行的结果信息(多条语句运行的结果信息显示于监控器的 Log 区),鼠标右击信息栏则拷贝信息栏中的所有文本。
消息栏支持3种字体颜色:如果是一条错误(或异常)信息,则字体为红色;如果运行正常(无错误产生),则字体为黑色;如果SELECT语句的实际记录数超过了“限定查询记录”输入框的值,则字体为蓝色;
如果信息太多太长导致信息栏不能显示所有文字,或者信息字串中含有换行符,那么鼠标指向信息栏时工具提示“鼠标双击信息栏则弹出信息窗口”。
当SQL语句在运行时,进度条则显示,如果鼠标指向进度条,则提示一些信息:如 当前运行的SQL语句的开始时间、当前运行的SQL语句是批中的第几条语句、已导出多少条记录等。
当SQL语句在运行时,“Stop” 按钮则显示(显示在进度条的右边)。如果当前SQL语句运行时间太长,或其它原因需要中断其运行,则只需要点击 “Stop” 按钮,通常只需几秒钟就能停止其运行。存在个别情况,即 点击了 “Stop” 按钮长时间还不能停止,如果过了两分钟还不能停止,“Stop” 按钮的背景色变为淡黄色,此时若再点击它一次则强制中断。
状态栏分割成 4 个小区间:
第一个区间指示SQL编辑器的光标所处的行列位置(右边有一个倒立的小三角形的图标按钮,通过它可以改变光标的行号);
第二个区间显示 Autocommit 的状态(命令 “set autocommit on” 或 “set autocommit off” 可以改变 Autocommit 的状态);
第三个区间显示 Timing 的状态(命令 “set timing on” 或 “set timing off” 可以改变 Timing 的状态);
第四个区间显示 Echo 的状态(命令 “set echo on” 或 “set echo off” 可以改变 Echo 的状态)
[1] 本工具的所有文本编辑框不仅支持通用的键盘操作(如 Ctrl+A、Home、End、Ctrl+Home、Ctrl+End、PgUp、PgDn 。 注:如果是Mac机,本文中的所有 Ctrl 替换成 Command ,在菜单标注中简缩成 Cmd),还隐含了本工具独有的键盘操作,如下:
[3] 用户可以改变工具的背景图片,将喜欢的图片文件改名为 background-picture.gif 或 background-picture.PNG,并放到工作目录下(文件 OracleSQLHandler.jar 所在的目录),重启工具,则该图片作为主界面的背景图片。 (注:图片文件的后缀只能是 GIF 或 PNG, 象 JPG, BMP 需要改后缀, 还有,图片尺寸不能小于 100x100, 否则使用系统自带的背景图片)
[4] 如果用户想通过命令“EXEC a_procedure()”来运行或调试一PL/SQL过程, 则用户需要在SQL编辑器编写并运行如下语句:
begin
a_procedure();
end;
[5] 本工具提供的 Oracle JDBC 版本号为 11.2.0.4
[6] 本工具连接到数据库后有如下默认设置:
欢迎您使用本工具!本工具的作者衷心感谢您的宝贵意见和建议,并欢迎留言到如下网页:
http://blog.sina.com.cn/oraclesqlhandler
http://www.onlinedown.net/soft/91179.htm
http://www.duote.com/soft/17069.html
https://www.crsky.com/soft/18077.html
版权属 毛灵燕(Swan Mao) 所有,欢迎使用!
微信:mz2250436518 QQ: 1078195462 E-mail: mao.swan@163.com
扫微信二维码加好友 |
![]() |