有没有办法在SSMS中实现文本编辑宏?我想,比如转换如下所示的代码,但是使用按键,而不是冗长的正则表达式搜索和替换.
这个:
INSERT INTO [TABLE] ([fieldOne] ,[fieldTwo]) VALUES (, 必须成为这样:
INSERT INTO [TABLE] ([fieldOne] ,[fieldTwo]) VALUES (@fieldOne ,@fieldTwo)我知道SSMS本身并不支持这一点,但我也知道它是可扩展的,如果没有文档,并且还有一个完全外部应用程序的空间,它将采用复制文本,转换它并将其粘贴回来,而不必打开编辑,粘贴,编辑,复制和粘贴回SSMS.
编辑存储的模板不是一个选项,因为这些模板是动态生成的,并且使用Ctrl + Shift + M也不是一个选项,因为我仍然需要键入每个参数名称,但没有方便的复制和粘贴查询编辑.
没有SSMS解决方案!我正在寻找一些可以帮助我做到这一点的外部伏都教.
1> Ed Harper..:那么AutoHotKey脚本呢?
根据模板的复杂程度,您也可以
使用AutoHotKey回放正则表达式搜索和替换所需的击键,或
将模板复制到剪贴板并直接在AutoHotKey中对其进行操作,然后再将其粘贴回来.
我相信第一个选项会起作用.我没试过第二次.
此问题指示如何编写AutoHotKey脚本以侦听键盘和弦.
2> KevB..:如果您正在使用SSMS 2005,则它具有对模板的内置支持.它并不是完全成熟的宏,但不是很少,它仍然非常有用.
语法与您在第一个代码段中显示的完全相同,只需按Ctrl + Shift + M即可弹出一个对话框,提示您输入包含在尖括号中的位的值.
如果右键单击表并选择"脚本表为",则选择插入,更新或删除选项,SQL Server将以此格式生成脚本.
您还可以创建自己的自定义模板,或修改现有的自定义模板之一(单击"查看" - >"模板资源管理器"以访问其他内置模板).
MSDN上有一篇简短的文章介绍了如何开始使用模板.