sql语句格式化工具
在事件探查器跟踪到的sql语句非常的难以读懂,找了很久才找到几个合适的工具来格式化sql语句。
1.sql pretty printer :
用起来感觉不错,但找不到注册key,只能转换50行,有限制,可惜,不知道有key的兄弟能不能给我发一个。
2.Toad for SQL Server 3.1 Freeware
这个新建sql语句到是蛮好,也带了查询分析器,但似乎不能够将现成的sql语句格式化。
3.vim+sql 格式化脚本
完全免费的组合
看个官方的列子
Examples:
Original:
SELECT m.MSG_ID, m.PRIORITY_ID, CUST.CUST_NBR, CUST.CUST_NM,
CUST.CUST_LEGAL_NM, CUST.STORE_ADDR_1, CUST.STORE_ADDR_2,
CUST.CROSS_STREET, XMLELEMENT( 'Alerts', XMLELEMENT( 'Alert_alert_id',
alert_id ), XMLELEMENT( 'Alert_agent_id', agent_id ), XMLELEMENT(
'Alert_alert_type_id', alert_type_desc), XMLELEMENT(
'Alert_alert_date', alert_date), XMLELEMENT(
'Alert_url_reference', url_reference), XMLELEMENT(
'Alert_read_status', read_status )) CUST.STORE_CITY,
CUST.STORE_ST, CUST.POST_CODE, CUST.STORE_MGR_NM, FROM MESSAGES m JOIN
PRIORITY_CD P WHERE m.to_person_id = ? AND p.NAME = 'PRI_EMERGENCY' AND
p.JOB = 'Plumber' AND m.status_id < ( SELECT s.STATUS_ID FROM
MSG_STATUS_CD s WHERE s.NAME = 'MSG_READ') ORDER BY m.msg_id desc
Formatted:
SELECT m.MSG_ID, m.PRIORITY_ID, CUST.CUST_NBR, CUST.CUST_NM,
CUST.CUST_LEGAL_NM, CUST.STORE_ADDR_1, CUST.STORE_ADDR_2,
CUST.CROSS_STREET,
XMLELEMENT(
'Alerts', XMLELEMENT( 'Alert_alert_id', alert_id ),
XMLELEMENT( 'Alert_agent_id', agent_id ),
XMLELEMENT( 'Alert_alert_type_id', alert_type_desc),
XMLELEMENT( 'Alert_alert_date', alert_date),
XMLELEMENT(
'Alert_url_reference', url_reference
), XMLELEMENT( 'Alert_read_status', read_status )
) CUST.STORE_CITY, CUST.STORE_ST, CUST.POST_CODE,
CUST.STORE_MGR_NM
FROM MESSAGES m
JOIN PRIORITY_CD P
WHERE m.to_person_id = ?
AND p.NAME = 'PRI_EMERGENCY'
AND p.JOB = 'Plumber'
AND m.status_id < (
SELECT s.STATUS_ID
FROM MSG_STATUS_CD s
WHERE s.NAME = 'MSG_READ'
)
ORDER BY m.msg_id desc
我已经将 VIM和sql格式化脚本 打包后放在网络硬盘上,以下是下载地址:
http://www.fs2you.com/files/cd0dca7d-fe59-11dc-a1f6-0014221b798a/
解压缩后,先安装vim7.1,然后解压缩sqlutil200文件夹,将里面的三个文件夹
![]()
覆盖到vim的安装目录(同名目录)即可!
运行vim:
![]()
格式化方法:
选中需要格式化的sql语句,然后点菜单中的“ PLUGIN”==>"FORMAT STATMENT",然后看效果
![]()
还是不错的吧,但遗憾的是我还没找到sql 关键字高亮的方法,再去看下,有进展再贴上来!(如果你的文件结尾是.sql则可以高亮显示)
不知道各位有没有好用的sql 编辑器,推荐下,非常的感谢!!!!
1.sql pretty printer :
用起来感觉不错,但找不到注册key,只能转换50行,有限制,可惜,不知道有key的兄弟能不能给我发一个。
2.Toad for SQL Server 3.1 Freeware
这个新建sql语句到是蛮好,也带了查询分析器,但似乎不能够将现成的sql语句格式化。
3.vim+sql 格式化脚本
完全免费的组合
看个官方的列子
Examples:
Original:
SELECT m.MSG_ID, m.PRIORITY_ID, CUST.CUST_NBR, CUST.CUST_NM,
CUST.CUST_LEGAL_NM, CUST.STORE_ADDR_1, CUST.STORE_ADDR_2,
CUST.CROSS_STREET, XMLELEMENT( 'Alerts', XMLELEMENT( 'Alert_alert_id',
alert_id ), XMLELEMENT( 'Alert_agent_id', agent_id ), XMLELEMENT(
'Alert_alert_type_id', alert_type_desc), XMLELEMENT(
'Alert_alert_date', alert_date), XMLELEMENT(
'Alert_url_reference', url_reference), XMLELEMENT(
'Alert_read_status', read_status )) CUST.STORE_CITY,
CUST.STORE_ST, CUST.POST_CODE, CUST.STORE_MGR_NM, FROM MESSAGES m JOIN
PRIORITY_CD P WHERE m.to_person_id = ? AND p.NAME = 'PRI_EMERGENCY' AND
p.JOB = 'Plumber' AND m.status_id < ( SELECT s.STATUS_ID FROM
MSG_STATUS_CD s WHERE s.NAME = 'MSG_READ') ORDER BY m.msg_id desc
Formatted:
SELECT m.MSG_ID, m.PRIORITY_ID, CUST.CUST_NBR, CUST.CUST_NM,
CUST.CUST_LEGAL_NM, CUST.STORE_ADDR_1, CUST.STORE_ADDR_2,
CUST.CROSS_STREET,
XMLELEMENT(
'Alerts', XMLELEMENT( 'Alert_alert_id', alert_id ),
XMLELEMENT( 'Alert_agent_id', agent_id ),
XMLELEMENT( 'Alert_alert_type_id', alert_type_desc),
XMLELEMENT( 'Alert_alert_date', alert_date),
XMLELEMENT(
'Alert_url_reference', url_reference
), XMLELEMENT( 'Alert_read_status', read_status )
) CUST.STORE_CITY, CUST.STORE_ST, CUST.POST_CODE,
CUST.STORE_MGR_NM
FROM MESSAGES m
JOIN PRIORITY_CD P
WHERE m.to_person_id = ?
AND p.NAME = 'PRI_EMERGENCY'
AND p.JOB = 'Plumber'
AND m.status_id < (
SELECT s.STATUS_ID
FROM MSG_STATUS_CD s
WHERE s.NAME = 'MSG_READ'
)
ORDER BY m.msg_id desc
我已经将 VIM和sql格式化脚本 打包后放在网络硬盘上,以下是下载地址:
http://www.fs2you.com/files/cd0dca7d-fe59-11dc-a1f6-0014221b798a/
解压缩后,先安装vim7.1,然后解压缩sqlutil200文件夹,将里面的三个文件夹
覆盖到vim的安装目录(同名目录)即可!
运行vim:
格式化方法:
选中需要格式化的sql语句,然后点菜单中的“ PLUGIN”==>"FORMAT STATMENT",然后看效果
还是不错的吧,但遗憾的是我还没找到sql 关键字高亮的方法,再去看下,有进展再贴上来!(如果你的文件结尾是.sql则可以高亮显示)
不知道各位有没有好用的sql 编辑器,推荐下,非常的感谢!!!!