Ms sql execute sql: EXECUTE (Transact-SQL) — SQL Server

База данных

. Как я могу запустить только оператор, на котором находится мой курсор, в SQL Server Management Studio?

спросил

Изменено
27 дней назад

Просмотрено
95 тысяч раз

Как давний пользователь Toad for Oracle, я привык нажимать Ctrl+Enter и выполнять только оператор под курсором.

В SQL Server Management Studio нажатие клавиши F5 запускает весь сценарий. Чтобы запустить только текущий оператор, мне нужно вручную выделить нужный оператор, а затем нажать F5.

Меня это очень раздражает. Кто-нибудь знает инструмент с сочетанием клавиш для запуска только текущего оператора на SQL Server? Я бы изменил инструменты только для этой одной функции.

Примечание. Как ни странно, даже бесплатная Toad для SQL Server не позволяет запускать только оператор под курсором.

  • sql-сервер
  • база данных
  • редактор

5

Используйте Ctrl + KU для выбора линии.
Затем используйте F5 , чтобы запустить его.

Хотя это работает только для выбора одной строки, тем не менее я нахожу его весьма полезным.

Надеюсь поможет!!

3

Вы можете проверить эту надстройку для SSMS 2012. Поместите курсор в оператор, который хотите выполнить, и нажмите CTRL + SHIFT + E

Исполнитель SSMS — https://github.com/devvcat/ssms-executor/releases

Обновление:
Проект перемещен на github и надстройка переписана для поддержки SSMS 2014, SSMS 2016. (Ранее проект жил на codeplex, в SSMS Executor — http://ssmsexecutor.codeplex.com/.)

12

Итак, что я получаю от всех этих ответов: «Нет, это невозможно».

Редактировать:

Вот как я смог это сделать:

1 — Загрузите SQL Developer

2 — Загрузите драйвер jTDS

3 — Следуйте этим инструкциям, чтобы добавить этот драйвер в SQL Developer 900 05

4 — Подключиться к SQL Server с помощью SQL Developer (круто!)

5 — Запустить и все будет хорошо

6

Кто-то предложил эту функцию в Devart dbForge SQL Complete (надстройка для Management Studio), и она все еще находится в стадии разработки. Будем надеяться, что он закончен и не будет заброшен на полпути разработки.

2

Вышеприведенный ответ помог мне создать ярлык для выполнения текущего оператора без выбора запроса Показать команды , содержащие, установите его на SqlComplete10.Common_ExecuteCurrentStatement

3 — для использования нового ярлыка установите его на Редактор запросов SQL

4 — Для нажатия клавиш быстрого доступа (нужная клавиша быстрого доступа) выполните комбинацию Ctrl-Enter.

5 — Нажмите Назначить . Нажмите «ОК».

7

Я использовал этот обходной путь; когда код не закомментирован

Ctrl + К + U

(эта команда выделяет текущую строку запроса), а затем

Ctrl + Е

(выполняется выделенный запрос).

Полезно, если вы хотите запустить однострочный запрос между некоторыми другими строками, например:

 Выберите 100 лучших * из [dbo]. [Порядок]
  Выберите 100 лучших * из [dbo].[OrderItem]
  Выберите 100 лучших * из [dbo].[OrderStatus]
 

Примечание: Как ни странно, даже бесплатная Жаба
для SQL Server не позволяет запускать
просто оператор под курсором.

Очень раздражает, что TOAD не выполняет своих обещаний:

Из справки TOAD: [F9to выполнить] часть оператора, которая может содержать один или несколько операторов. Вы можете выбрать часть оператора, поместив курсор внутри или рядом с оператором, или выбрав оператор.
Примечание. Toad считает «смежными» все операторы (включая комментарии), отделенные от курсора или друг от друга менее чем двумя пустыми строками. Если во время выполнения инструкции возникает ошибка, отображается сообщение об ошибке, позволяющее либо проигнорировать ошибку и продолжить, либо прервать выполнение.

Я пробовал это миллион раз, но он просто выполняет весь скрипт. Я хотел найти его в группе поддержки пользователей (toadss(at)yahoogroups. com), но у yahoo самая глупая поисковая система! Он даже не может найти ключевое слово «жаба» в почтовой группе жаб, DOH!

Я думаю, что TOAD — лучший инструмент для создания запросов, но отсутствие этой функции меня тоже очень раздражает.

ОБНОВЛЕНИЕ: РЕШЕНИЕ НАЙДЕНО!
Я задал этот вопрос в почтовой группе toadss и получил ответ. В отличие от Oracle, вы должны разделять операторы в SQL Server с помощью ключевого слова 9.0053 GO после каждой инструкции. Только если вы сделаете это, кнопка F9 будет работать как положено, выполняя текущий оператор.

0

Я использую обходной путь: я комментирую запросы, которые не использую. Вы можете использовать CTRL-K, CTRL-C, чтобы прокомментировать выделенный SQL. Используйте CTRL-K, CTRL-U, чтобы раскомментировать. Таким образом, вы можете прокомментировать все остальные запросы и выполнить интересующий вас с помощью F5.

3

Нажмите Ctrl E , пока текст выделен.

2

Я не думаю, что это возможно сделать, используя только студию управления.
НО вы можете использовать программное обеспечение для сочетания клавиш (например, http://www.autohotkey.com/), чтобы записать специальную последовательность и назначить ее горячей клавише.
В вашем случае вам нужно:

 
 

Это выберет текущую строку и выполнит ее.

1

В Toad для SQL Server для выполнения могут использоваться следующие горячие клавиши по умолчанию:

  • F5: выполнить все операторы SQL в редакторе
  • F9: выполнить оператор SQL в текущей позиции курсора
  • Shift-F9: выполнить все операторы SQL из курсора, включая текущий в позиции курсора

Однако, как писал ‘ercan’, вам нужно отделять/после каждого оператора ‘GO’.

 ВЫБЕРИТЕ ТОП 5 * ИЗ аккаунтов
ИДТИ
ВЫБЕРИТЕ ТОП 5 * ОТ пользователей
ИДТИ
ВЫБЕРИТЕ ТОП 5 * ИЗ контрактов
ИДТИ
 

Эта функция присутствует в надстройке SSMSBoost для SSMS (я являюсь разработчиком этой надстройки):

Shift-F5 выберет текущую инструкцию (что позволит вам просмотреть, что вы собираетесь выполнить в данный момент ). Затем вы нажимаете F5 и выполняете его.

Самый простой способ сделать это — назначить CTRL + Введите комбинацию для действия Query.Execute в SQL Server Management Studio .

  1. Откройте меню Инструменты > Параметры .
  2. Выберите страницу Окружающая среда > Клавиатура на левой панели.
  3. Найдите действие Query.Execute и выберите его.
  4. Установить Редактор запросов SQL в «Использовать новый ярлык в:» выпадающем списке.
  5. Теперь введите CTRL + Enter 9Комбинация 0199 в нажмите клавиши быстрого доступа: текстовое поле.
  6. Нажмите кнопку Назначить .
  7. Изменить Ярлык, используемый в настоящее время: на Query. Execute (Ctrl+Enter (редактор запросов SQL))
  8. Щелкните OK . Готово .

5

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

1

В выпуск SQL Complete Express это встроено. Но вы не получите его без пользовательского intellisense.

(я получил это из сообщения Salamander2007)

1

Если дополнительное решение исполнителя (в верхнем опубликованном ответе) не работает должным образом, я заставил его работать на меня (SSMS v17.8.1):
Надстройка добавляет команду в инструменты: Tools > Execute Inner Statement 9.0054 .

Вы можете назначить ему пользовательское сочетание клавиш, выбрав Инструменты > Параметры > Клавиатура , затем найдите «выполнить» в «Показать команды, содержащие:» и выбрав Tools. ExecuteInnerStatement .
Затем просто назначьте желаемое нажатие клавиши в поле «Нажмите клавиши быстрого доступа:» и нажмите кнопку «Назначить».

Чтобы запустить только часть более крупного сценария, попробуйте следующее. Это покажет только первую строку (с многоточием «...», чтобы указать, что код не показан) и окончание «;» для заявления.

  • Выделите строку.

  • Нажмите клавишу [F5].
  • Будет запущен только выделенный оператор. Если вы хотите запустить больше, чем один
    оператор за раз, сверните каждый оператор и выделите все, что вы хотите запустить, затем нажмите [F5].
    Это обходной путь, но все же намного проще, чем каждый раз перетаскивать и выделять многочисленные строки кода.

    Попробуйте определить макрос в SSMSBoost
    SSMSBoost/Настройки/Макросы:

    Выберите свободный слот для вашего макроса
    в правой панели заполните заголовок (если хотите)
    добавьте 2 команды в последовательность:
    SSMSBoost.SelectCurrentStatement
    Запрос. Выполнить
    назначьте свой любимый ярлык
    и это все.

    Я согласен с Джозефом Стайонсом, но не могу голосовать или комментировать. DBeaver, squirrel, PL/SQL Developer, Toad имеют возможность выполнить один оператор.

    В моем случае я использую эти другие инструменты, у всех из которых есть опция, но затем, когда я использую SQLServer Management Studio, я рискую вставить и/или удалить, потому что я забыл выделить оператор выбора.

    Это не опция, это требование. Однако Microsoft отказывается признавать логически полезные функции, необходимые пользователям, и предпочитает обслуживать бесполезные и косметические функции.

    ОБНОВЛЕНИЕ: Интересно, считают ли пользователи Microsoft и SQL Server эту ошибку «особенностью», потому что они могут (принудительно) объединять операторы SQL в цепочку и все выполняться одновременно. Возможно, именно поэтому просьба осталась без внимания?

    Microsoft разрабатывает Azure Data Studio в качестве предпочтительного межплатформенного инструмента управления в наши дни. На самом деле установка последней версии SSMS также устанавливает ADS.

    Azure Data Studio может выполнить текущий запрос в окне запроса с кодом 9019.8 Ctrl+F5 . В блокноте SQL текущая ячейка выполняется с помощью F5

    .

    3

    Тим Фаррар Ответ на полпути, но это все еще работа с мышью, поэтому давайте назначим сочетание клавиш, чтобы сделать его на 90%.

    SSMS О поле здесь говорится:

    SQL Server Management Studio v17.7

    Имя компонента Версии
    Microsoft SQL Server Management Studio 14.0.17254.0
    Средства клиента Microsoft Analysis Services 14.0.1016.251
    Компоненты доступа к данным Microsoft (MDAC) 10.0.14393.5850
    Microsoft MSXML 3,0 6,0
    Microsoft Internet Explorer 9. 11.14393.0
    Microsoft .NET Framework 4.0.30319.42000
    Операционная система 6.3.14393
    • Инструменты -> Параметры -> Среда -> Клавиатура
    • В поле «Показать команды, содержащие:» введите: Outlining
    • В списке ниже выберите: Edit.ToggleOutliningExpansion
    • Нажмите «Сочетания клавиш:» и нажмите Alt-O
      (или как вам угодно. для меня Alt-O не использовался)
    • Нажмите кнопку ОК.

    Затем в редакторе в любом месте оператора SQL

    • нажмите Alt-O -> оператор свернут в одну строку
    • нажмите Home, затем Shift-Down, чтобы выбрать свернутую строку.
    • Тогда уже можно нажать F5 для выполнения,
    • или нажмите Alt-O, чтобы вернуться к выбранному оператору,
      и нажмите F5 для выполнения.

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

    Может кто добавит недостающий бит назначения одной клавиши на несколько команд.

    вы всегда можете использовать инструменты командной строки sqlcmd и osql. Я сделал много sybase в командной строке unix, используя функцию-оболочку, которая передала мою командную строку в эквивалент (который, я думаю, был isql?). Я использовал vi, так что, возможно, тогда я просто сошел с ума 😉

    1

    Просто выберите (выделите) один оператор, который вы хотите запустить, и нажмите F5.

    2

    9+Е
    возвращаться

    И вуаля, вы можете выполнить любой текущий оператор в курсоре, просто нажав F6

    Но иногда, опять же, моя большая проблема заключается в том, что я по ошибке нажимаю F5 вместо F6 😀

    Расширение Redgate SQL Prompt для SSMS может сделать это.

    Это не бесплатно, но, по моему опыту, оно того стоит. Лучший intellisense, чем готовая версия SSMS, раскраска вкладок, история вкладок (очень ценная!), фрагменты кода, выполнение одного оператора (а не одной строки) и многое другое.

    Используйте Shift + (стрелка вниз) для выбора одной строки, сохраните кнопку, затем
    Ctrl + K U 😀 лол.

    Затем используйте F5 для запуска.

    Надеюсь, это тоже поможет..

    выберите строку, которую хотите выполнить, и нажмите кнопку «Выполнить»

    0

    Следующее работает для меня … Я использую SSMS 2012

    1 — Нажмите «Инструменты»> «Параметры»> «Клавиатура среды»

    2 — Для Показать команды, содержащие , установите значение Query.Execute

    3 — Для Использовать новый ярлык в , установите значение Редактор запросов SQL

    4 — Для Нажмите клавиши быстрого доступа , выполнить комбинацию Ctrl-Enter.

    5 — Нажмите «Назначить». Нажмите «ОК».

    2

    Зарегистрируйтесь или войдите в систему

    Зарегистрируйтесь с помощью Google

    Зарегистрироваться через Facebook

    Зарегистрируйтесь, используя электронную почту и пароль

    Опубликовать как гость

    Электронная почта

    Обязательно, но не отображается

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

    Сервер

    sql. Как я могу выполнить набор файлов .SQL из SSMS?

    спросил

    Изменено
    11 месяцев назад

    Просмотрено
    69 тысяч раз

    Как выполнить набор файлов .SQL (каждый из которых выполняет некоторые преобразования данных) из SQL Server Management Studio?

    Какие другие альтернативы существуют для пакетного выполнения файлов .SQL?

    • sql-сервер
    • пакетный файл
    • ssms

    Хотя SQLCMD.exe — лучший способ, SSMS также имеет режим SQLCMD, в котором вы можете выполнить сценарий SQLCMD. Чтобы включить этот режим, нажмите Query в строке меню, затем выберите SQLCMD Mode .

    Команда «:r filename.sql» — это команда сценария SQLCMD для импорта и выполнения файла сценария sql. Вы знаете, что находитесь в режиме SQLCMD, потому что любые строки, которые являются командами сценария SQLCMD, будут отображаться с цветным (я думаю, серым) фоном.

     :setvar путь "c:\Path_to_scripts\"
    :r $(путь)\file1.sql
    :r $(путь)\file2.sql
     

    4

    Используйте SqlCmd.exe.

    Например:

     sqlcmd -S myServer\instanceName -i C:\myScript.sql
     

    или сохранить вывод в файл:

     sqlcmd -S myServer\instanceName -i C:\myScript.sql -o C:\EmpAdds.txt
     

    2

    Вы можете выполнять файлы T-SQL без использования режима SQLCMD или с использованием SQLCMD вне SSMS, например:

     exec sp_configure 'показать дополнительные параметры',1; перенастроить с переопределением;
    exec sp_configure 'xp_cmdshell',1; перенастроить с переопределением;
    объявить @sqlfile nvarchar (100), @sqlcmd varchar (4000)
    exec xp_cmdshell 'del c:\SQLscript. sql && echo select ''Это скрипт, работающий на SQLCMD из SSMS'' >> c:\SQLscript.sql',no_output --test script
    set @sqlfile = 'c:\SQLscript.sql' -- расположение скрипта
    установить @sqlcmd = 'sqlcmd -E -i '+@sqlfile
    exec xp_cmdshell @sqlcmd --выполнение скрипта
    exec sp_configure 'xp_cmdshell',0; перенастроить с переопределением;
    exec sp_configure 'показать дополнительные параметры',0; перенастроить с переопределением;
     

    2

    Зарегистрируйтесь или войдите в систему

    Зарегистрируйтесь с помощью Google

    Зарегистрироваться через Facebook

    Зарегистрируйтесь, используя электронную почту и пароль

    Опубликовать как гость

    Электронная почта

    Требуется, но никогда не отображается

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.