sql格式化工具-SQL Pretty Printer

2022-11-01 15:57:42 浏览数 (1)

sql格式化工具-SQL Pretty Printer

    • 导言
    • 使用
      • 主要功能:
      • 其他功能:
        • Rename Table 和 Rename Column
        • To C#(To VB.NET)
        • C# To SQL (VB.NET To SQL)
        • SQL Formatter Options

导言

写SQL语句或者脚本时,很容易出现凌乱的情况,这里推荐一款很方便的SQL Server插件:SQL Pretty Printer for SSMS

使用

SQL Pretty Printer目前提供4种使用方式,桌面版本,SSMS(SQL Server Management Studio)插件,VS插件,和提供API接口。

Win7-10, SQL Server Management Studio 2005-2017 全系列支持

下载链接:http://www.dpriver.com/dlaction.php

在线版本(不支持中文):http://www.dpriver.com/pp/sqlformat.htm

获取免费的授权码:http://www.dpriver.com/products/sqlpp/getforfree.php

安装SQL Pretty Printer 以后你可以在 SSMS (SQL Server Management Studio)的菜单栏看到菜单 SQL Beautifier,如下图所示

主要功能:

Format Selected SQL

这个功能主要是格式化当前窗口中选择的SQL语句,只有先选择要格式化的SQL语句才能使用该功能。

Fromat All SQL

这个功能主要是格式化当前窗口中所有的SQL语句。

格式化之前

格式化之后

其他功能:

Rename Table 和 Rename Column

这两个功能是3.2.0新增加的,主要用于在复杂的SQL语句(包括嵌套子查询、连接、函数调用的参数,存储过程中的参数),重命名表名和列名。下面看一个示例大概就明白啥意思了,我的理解就是类似于使用正则表达式匹配,然后替换其中的表名和列名。

使用下面的SQL语句做测试:

代码语言:javascript复制
SELECT person.firstname,
       Orders.NAME
FROM   person
       LEFT JOIN Orders
              ON person.P_Id = Orders.P_Id
ORDER  BY person.firstname

替换之后的SQL语句,表名没有变,只有列名变化,这个功能倒是挺有用的,遇到要修改不同表的相同的列名情况下,挺适合的。

To C#(To VB.NET)

将SQL语句转换成C#语言中的输出语句。还是使用上面的SQL语句,在SSMS中选中要转换的SQL语句,然后选择To C#,将会看到如下转换后的C#代码,生成一个SQL语句的字符串,可以减少在代码中写拼SQL语句的麻烦:

代码语言:javascript复制
StringBuilder  varname1 = new StringBuilder();
varname1.Append("SELECT Persons.firstName, n");
varname1.Append("       Orders.NAME n");
varname1.Append("FROM   Persons n");
varname1.Append("       LEFT JOIN Orders n");
varname1.Append("              ON Persons.P_Id = Orders.P_Id n");
varname1.Append("ORDER  BY Persons.firstName ");
C# To SQL (VB.NET To SQL)

将C#代码翻译成SQL语句,C#代码好像只要满足varname1.Append(“SQL语句”);就能转换成对应的SQL语句了

SQL Formatter Options

用默认设置应该就够用了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/200790.html原文链接:https://javaforall.cn

0 人点赞