AutoHotkey: Как исправить «эта строка не содержит распознанное действие» при попытке отправить sql-оператор? - PullRequest
0 голосов
/ 23 мая 2019

Я сейчас пытаюсь написать команду Autohotkey, которая вставляет код SQL, но я получаю только это сообщение:

Ошибка в строке 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-оператор, но я просто получаю ошибки, подобные приведенной выше. Иногда это относится к строке «Создать таблицу #tmp (», иногда «вставить в #tmp (row1, number)». И я не знаю, что делать. У кого-нибудь есть подсказка и может ли помочь мне с этим?

1 Ответ

0 голосов
/ 23 мая 2019

Вам необходимо помнить о заключительных скобках / скобках. Вы можете использовать символ обратной галочки `, чтобы экранировать символы внутри вашего текста.

Например:

:*: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
)
...