我如何才能在SQL Server Management Studio中运行我的光标所在的语句?

作为Oracle用户的一个长时间的Toad,我已经习惯了按Ctrl + Enter,并且只有光标下的语句被执行。

在SQL Server Management Studio中,按F5运行整个脚本。 为了只运行当前的语句,我必须手动突出显示我想要的语句,然后按F5键。

对我来说真的很烦人 有没有人知道一个键盘快捷键的工具只运行SQL Server上的当前语句? 我会改变这个function的工具。

注意:奇怪的是,即使免费的Toad for SQL Server也不能让你只运行光标下的语句。

您可以查看SSMS 2012的此加载项。将光标置于要执行的语句中,然后按CTRL + SHIFT + E

SSMS执行者 – http://ssmsexecutor.codeplex.com/

更新:
项目转移到Github,并重新编写插件以支持2014年SSMS,SSMS 2016。
SSMS执行者 – https://github.com/devvcat/ssms-executor/releases

好吧,我从所有这些答案中得到的是“不,那是不可能的”。

编辑:

以下是我如何做到这一点:

1 – 下载SQL Developer

2 – 下载jTDS驱动程序

3 – 按照这些说明将该驱动程序添加到SQL Developer

4 – 使用SQL Developer连接到SQL Server(cool!)

5 – 运行它,生活是美好的

有人在Devart dbForge SQL Complete(pipe理工作室的插件)上提出了这个特性 ,而且它仍处于开发阶段。 希望已经完成,不要在发展的中途放弃。

我使用一种解决方法:我评论我没有使用的查询。 您可以使用CTRL-K,CTRL-C来评论您已突出显示的SQL。 使用CTRL-K,CTRL-U取消注释。 这样,您可以评论所有其他查询,然后执行您对F5感兴趣的查询。

注意:奇怪的是,即使免费的Toad for SQL Server也不能让你只运行光标下的语句。

TOAD不遵守它的承诺真的很烦人:

从TOAD帮助: [F9执行]可以包含一个或多个语句的语句的一部分。 您可以通过将光标置于语句内或语句旁边或通过select语句来select语句的部分。 注意:蟾蜍认为“相邻”的所有语句(包括注释)与游标分离或相互之间由less于两个空行。 如果在语句执行期间发生错误,则会显示一条错误消息,允许您忽略该错误并继续执行或中止执行。

我尝试了几百万次,但它只是执行整个脚本。 我想在用户支持组(toadss(at)yahoogroups.com)search它,但是雅虎有史以来最愚蠢的search设备! 它甚至在蛤蟆邮件组中找不到关键字“蟾蜍”,DOH!

我认为TOAD是有史以来最好的查询工具,但是这个function的缺乏也让我非常恼火。

更新:find解决scheme! 我问了这个问题在toadss邮件组,并得到了答案。 与Oracle不同的是,在每个语句之后,必须将SQL Server中的语句与关键字GO分开。 只有当你这样做F9button按预期工作,执行当前语句。

我不认为这是可能的只使用pipe理工作室。 但是您可以使用键盘快捷键软件(例如http://www.autohotkey.com/ )来logging特定的序列并将其分配给一个热键。 在你的情况下,你需要:

<home><shift-end><F5> 

这将select当前行并执行它。

SQL Complete Express版本内置了这个function。但是,如果没有定制智能感知,你不会得到它。

(我从Salamander2007的post得到这个)

只需select(突出显示)要运行的单个语句,然后按F5。

上面的答案帮助我创build了执行当前语句的快捷方式,而不用select查询

1 – 点击工具 > 选项 > 环境 > 键盘

2 – 对于包含Show命令 ,将其设置为SqlComplete10.Common_ExecuteCurrentStatement

3 – 对于使用新的快捷方式,将其设置为SQL查询编辑器

4 – 对于按下快捷键(所需的快捷键),请执行Ctrl-Enter组合。

5 – 点击分配 。 点击确定。

突出显示文本时按CtrlE。

在Toad for SQL Server中,可以使用以下默认热键执行:

  • F5:执行编辑器中的所有SQL语句
  • F9:在当前光标位置执行SQL语句
  • Shift-F9:执行光标所有的SQL语句,包括光标位置的当前值

然而,就像'ercan'写的那样,你需要用'GO'来分隔/跟踪每个语句。

 SELECT TOP 5 * FROM accounts GO SELECT TOP 5 * FROM users GO SELECT TOP 5 * FROM contracts GO 

如果不得不将鼠标移到感到困扰的鼠标部件上,可以按住Ctrl键,同时按下上下箭头键一次select一条线。

你总是可以使用命令行工具sqlcmd和osql。 我在unix命令行中使用了一个将我的命令string传递到等价物(我认为是isql)的包装函数,所有的sybase都做了很多工作。 我用vi,所以也许我只是疯了;-)

你可以结合这两个工具如下:SQL完成从DBForce和AuhotHotkey。

使用SQL Complete:您可以通过按Ctrl Shift E组合键在光标处执行当前语句

我使用AutoHotkey的原因是通过使用F6来执行当前语句,通过在AutoHotkey脚本中设置以下代码,使生活更轻松:-):

 ;SQL EXECUTE THE CURRENT STATEMENT F6:: Send ^+E return 

而且只要按下F6键就可以在光标上执行任何当前语句

但有时候,我的大问题是我错误地按F5而不是F6:D

以下作品适合我…我使用SSMS 2012

1 – 点击工具>选项>环境键盘

2 – 对于包含Show命令 ,将其设置为Query.Execute

3 – 对于使用新的快捷方式 ,将其设置为SQL查询编辑器

4 – 对于按快捷键 ,执行Ctrl-Enter组合。

5 – 点击分配。 点击确定。