AutoHotkey使用continuation格式化SQL失败

时间:2015-10-22 13:14:50

标签: sql-server autohotkey

我是AutoHotkey的新手,已经阅读了我在热字符串和续集中能够找到的大部分文档,但是我在使用插入短SQL时遇到了一些问题查询。

我的AHK脚本文件中有这个脚本:

:* C1:sqlthing::
(
DECLARE @Var1 INT
    ,@Var2 VARCHAR(10)
    ,@Var3 INT

SET @Var1 = XX 
SET @Var2 = 'XX'

SELECT @Var1 = Col1
FROM Tbl1 WITH (NOLOCK)
WHERE Col2 = @Var3
)

它在SQL studio中出现(双标签和缺少一个换行符):

DECLARE @Var1 INT
    ,@Var2 VARCHAR(10)
        ,@Var3 INT

        SET @Var1 = XX 
        SET @Var2 = 'XX'

        SELECT @Var1 = Col1FROM Tbl1 WITH (NOLOCK)
        WHERE Col2 = @Var3

我不知道为什么。我尝试使用转义的TAB(`t),但结果是一样的。

我特别感到困惑的是,在' FROM'之前的换行。线完全消失。

1 个答案:

答案 0 :(得分:2)

这是因为SQL Studio会自动缩进所输入的文本,并且自动放置字符串会模仿输入。

而是使用剪贴板:

:* C1:sqlthing::
text=
(
DECLARE @Var1 INT
    ,@Var2 VARCHAR(10)
    ,@Var3 INT

SET @Var1 = XX
SET @Var2 = 'XX'

SELECT @Var1 = Col1
FROM Tbl1 WITH (NOLOCK)
WHERE Col2 = @Var3
)
pasteText(text)
return

pasteText( text ) {
    clipSave := clipboardall
    clipboard := text
    send +{Insert}
    sleep 20
    clipboard := clipSave
}