Есть ли способ прекратить печатать 'go' в sqlcmd?

Если я правильно помню, в прошлый раз Microsoft Sqlcmd требуется, чтобы каждая команда заканчивалась символом ';' и нажмите клавишу Enter, чтобы выполнить команду.

Однако в настоящее время нам нужно набирать GO каждый раз, чтобы выполнить команду.

Итак, есть ли другая альтернатива, так что, когда мы нажимаем клавишу Enter после окончания команды с символом ';', она выдает команду?

6 голосов | спросил Jack 28 PM000000120000004731 2012, 12:27:47

2 ответа


7

Нет, вам нужно ввести разделитель пакетов. По умолчанию используется GO. Однако вы можете изменить это, используя переключатель -c.

Например:

C:\>sqlcmd -SServername -cFOO

1> select @@version

нажмите enter

2> FOO

нажмите enter

Это запустится.

Нельзя избавиться от промежуточного ввода для вас. К сожалению.

ответил Edward Dortland 28 PM00000010000003531 2012, 13:52:35
4

Что касается обходного пути, можно запустить запросы с помощью команды sqlcmd в оболочке, например.

sqlcmd -Q 'SELECT 1'
sqlcmd -Q 'SELECT 2'

без ввода GO каждый раз.

Для удобства, чтобы каждый раз не вводить учетные данные, используйте псевдоним, например

alias sqlcmd="sqlcmd -S hostname -U user -P pass -d db"

Вот еще одна версия псевдонима оболочки:

alias RUN="sqlcmd -S hostname -U user -P pass -d db -Q"

Затем просто запустите:

RUN 'SELECT 1'
ответил kenorb 8 FebruaryEurope/MoscowbThu, 08 Feb 2018 19:44:24 +0300000000pmThu, 08 Feb 2018 19:44:24 +030018 2018, 19:44:24

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132