提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:莫成敏|2019-09-27 11:59:57.307|阅读 441 次
概述:本教程演示了SQL Prompt如何帮助“小规模” SQL重构任务,该任务的范围通常仅限于您在本地工作的单批代码或代码对象。这些任务直接在SSMS查询窗口中执行,并且可以帮助您以各种方式重构代码,这些方式在测试存储过程和对存储过程进行故障排除时非常有用。本文主要是教程上半部分内容。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
SQL Prompt是一款实用的SQL语法提示工具。SQL Prompt根据数据库的对象名称、语法和代码片段自动进行检索,为用户提供合适的代码选择。自动脚本设置使代码简单易读——当开发者不大熟悉脚本时尤其有用。SQL Prompt安装即可使用,能大幅提高编码效率。
Louis Davidson揭示了一些有用的提示功能,可在开发过程中重构单个代码块或模块,这将提高代码质量,减少繁琐的工作,使测试更简单,有时甚至是全部三种功能。
SQL Prompt是我一直使用的工具,用于代码完成和代码格式化任务,以至于在没有它的情况下编写查询感觉非常错误。用JOIN编写SQL语句,它会自动建议ON条件。在ORDER BY或者GROUP BY子句中,它有助于选择分组列。审查一些丑陋的代码(也许是自己写的)用您喜欢的样式很好地格式化它。
但是,SQL Prompt具有许多其他功能,这些功能我很少用,但在需要的时候非常有用。本教程演示了SQL Prompt如何帮助“小规模” SQL重构任务,该任务的范围通常仅限于您在本地工作的单批代码或代码对象。这些任务直接在SSMS查询窗口中执行,并且可以帮助您以各种方式重构代码,这些方式在测试存储过程和对存储过程进行故障排除时非常有用。这篇文章主要是教程的上半部分内容~
本文中的所有示例均从WideWorldImporters示例数据库的新恢复的副本开始。
重命名别名/变量
提示:将光标置于别名或变量上,从上下文菜单中选择“重命名别名/变量”,或按F2键,然后输入新名称。当前批次或对象中的所有匹配项均已更改。
有时,程序员为变量或别名选择了较差的名称。我已经看到@I,如果仔细检查,可以更有效地将其称为@EnableSystemFunctionsSetting。我们一次又一次地感到内疚,当您需要快速进行编码时,标准往往会失效,而我们常常忘记暂停,并仔细考虑可能使用的最佳名称。
下列代码显示了一个应用程序。Cities$List存储过程后面是第二个批处理(只是为了演示这种重命名的工作方式)。假设您想将@CityName重命名为@CityNameLike,使用户清楚的知道他们可以传递LIKE表达式。
CREATE OR ALTER PROCEDURE Application.Cities$List @CityName nvarchar(50) = '%', @CityNameUpperCaseFlag bit = 0 AS DECLARE @CityNameValue nvarchar(50); SELECT Cities.CityID, CASE WHEN @CityNameUpperCaseFlag = 1 THEN UPPER(Cities.CityName) ELSE Cities.CityName END, Cities.Location FROM Application.Cities WHERE Cities.CityName LIKE @CityName; GO DECLARE @CityName int; SELECT @CityName GO
清单1
当然,一种久经考验并几乎是正确的方法是查找并替换(Ctrl + H)。但是,如果您不注意,可能会导致一些参数意外地重命名为@CityNameLikeUpperCaseFlag,并且在当前对象的预期范围之外重命名参数和变量。
图1
使用SQL Prompt的重命名别名/变量重构,您可以更精确地执行此任务。突出显示@CityName的出现项,或将光标放在其上,它仅突出显示当前范围内@CityName的另一确切出现项。与查找和替换不同,它不会突出显示任何不完全匹配的内容,并且不会触及第二批。
图2
现在,右键单击选择重命名别名/变量,或按F2,然后在矩形框内看到变量时,键入替换名称CityNameLike,然后按Enter以“提交”更改名称。如果输入有误,则可以使用单个“撤消”(Ctrl-Z)修复损坏。
接下来,您可能需要将Cities表的别名更改为较短的名称,例如c。如果单击的任何实例Cities,则SQL Prompt将突出显示其他实例,但由于Cities不是别名,因此SQL Prompt的Rename Alias / Variable方法将不起作用。不过,这很容易解决。只需建立Cities一个别名,然后突出显示它并点击F2即可。
图3
替换Cities为c,单击Enter,新代码将如下所示。
CREATE OR ALTER PROCEDURE Application.Cities$List @CityNameLike nvarchar(50) = '%', @CityNameUpperCaseFlag bit = 0 AS DECLARE @CityNameValue nvarchar(50); SELECT c.CityID, CASE WHEN @CityNameUpperCaseFlag = 1 THEN UPPER(c.CityName) ELSE c.CityName END, c.Location FROM Application.Cities AS c WHERE c.CityName LIKE @CityNameLike; GO
查找未使用的变量和参数
提示:在查询窗口中,可以选择突出显示代码块,从SQL Prompt菜单中选择“查找未使用的变量和参数”,或按(Ctrl B,Ctrl F),然后Prompt将在所有未使用的变量或参数下划线。
在图3中,您可以在下面看到一条绿色的波浪线@CityNameValue(和过程名称,稍后再介绍)。这是SQL Prompt代码分析功能,可提醒我们注意已声明但从未使用过的变量。
图4
即使您关闭了此功能(在使用非常大的脚本时,有时也会这样做),您仍然可以使用“查找未使用的变量和参数”(Ctrl B + Ctrl F),并且在@CityNameValue变量下方会看到相同的绿色波浪线,和相同的消息。让我们简单地删除该变量声明,然后继续进行此代码的更多改进。
本教程内容尚未完结,后面将更新下半部分内容,包括“使用代码片段进行重构”和“内联执行:重构以进行测试”,感兴趣的朋友可以下载SQL Prompt试一下哦~
相关内容推荐:
想要购买SQL Prompt正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢