AutoHotkey:尝试发送sql语句时如何修复"this line does not contain a recognized action"?



我当前正在尝试编写粘贴SQL代码的Autohotkey命令,但我只收到此消息:

第3行中的错误。行文本:创建表#TMP(
( 错误:此行不包含公认的操作。
剧本没有重新加载;旧版本将保持生效。

此消息也有一些变化。

我已经尝试使用sendraw或sendInput。甚至逃生角色也不起作用。将其列入引号。我没有任何线索。

:*:sql::
(
--drop table #tmp 
Create table #tmp (
    Refnr int identity (1,1) not null, 
    row1 varchar(8000) null, 
    number int null 
    )
insert into #tmp (row1, number)
select top 20 row1, count(*) from tableA 
group by row1 
order by 2 desc
select * from #tmp order by 3 desc
)

好吧,我希望它会发送SQL statement,但是我只是遇到了上面的错误。有时它是指"创建表#TMP(",有时是"插入#TMP(row1,number("。我不知道该怎么办。有人有线索,可以帮助我吗?

您需要介意闭合括号/括号。您可以使用back-tick `角色来逃避文本中的字符。

例如:

:*:sql::
(
--drop table #tmp 
Create table #tmp (
    Refnr int identity (1,1) not null, 
    row1 varchar(8000) null, 
    number int null 
    `)
insert into #tmp (row1, number)
select top 20 row1, count(*) from tableA 
group by row1 
order by 2 desc
select * from #tmp order by 3 desc
)

最新更新