sql-server - uso - sql use go statement
¿Cómo puedo ejecutar solo la instrucción en la que está mi cursor en SQL Server Management Studio? (17)
Nota: Por extraño que parezca, incluso el Toad gratuito para SQL Server no le permite ejecutar solo la instrucción debajo del cursor.
Es realmente molesto que TOAD no mantenga lo que promete:
Desde la ayuda de TOAD: [F9 para ejecutar] una parte de una declaración, que puede contener una o más declaraciones. Puede seleccionar la parte de la declaración colocando el cursor dentro o junto a la declaración, o seleccionando la declaración. Nota: Toad considera "adyacentes" todas las instrucciones (incluidos los comentarios) separadas del cursor o una de la otra por menos de dos líneas en blanco. Si se produce un error durante la ejecución de la instrucción, aparece un mensaje de error que le permite ignorar el error y continuar o abortar la ejecución.
Lo intenté millones de veces, pero simplemente ejecuta todo el script. Quería buscarlo en el grupo de soporte de usuario (toadss (at) yahoogroups.com) pero yahoo tiene la herramienta de búsqueda más estúpida de todas. ¡Ni siquiera puede encontrar la palabra clave "sapo" en el grupo de correos de sapos, DOH!
Creo que TOAD es la mejor herramienta de consulta, pero la falta de esta característica realmente me molesta también.
ACTUALIZACIÓN: ¡SOLUCIÓN ENCONTRADA! Pregunté este problema en el grupo de correo sapos y obtuve la respuesta. A diferencia de Oracle, debe separar las sentencias en SQL Server con la palabra clave GO después de cada instrucción. Solo si lo hace, el botón F9 funciona como se espera, ejecutando la instrucción actual.
Como usuario de Toad for Oracle desde hace mucho tiempo, me he acostumbrado a presionar Ctrl + Enter y ejecutar solo la instrucción debajo del cursor.
En SQL Server Management Studio, al presionar F5 se ejecuta todo el script. Para ejecutar solo la declaración actual, tengo que resaltar manualmente la declaración que quiero, y luego presiono F5.
Eso es realmente molesto para mí. ¿Alguien sabe de una herramienta con un atajo de teclado para ejecutar solo la declaración actual en un servidor SQL? Cambiaría las herramientas solo por esta función.
Nota: Por extraño que parezca, incluso el Toad gratuito para SQL Server no le permite ejecutar solo la instrucción debajo del cursor.
En Toad for SQL Server, las siguientes teclas rápidas predeterminadas se pueden usar para la ejecución:
- F5: Ejecuta todas las sentencias SQL en el editor
- F9: Ejecutar instrucción SQL en la posición actual del cursor
- Shift-F9: Ejecuta todas las instrucciones SQL del cursor, incluida la actual en la posición del cursor
Sin embargo, como escribió ''ercan'', necesita separar / seguir cada enunciado con ''IR''.
SELECT TOP 5 * FROM accounts
GO
SELECT TOP 5 * FROM users
GO
SELECT TOP 5 * FROM contracts
GO
La edición SQL Complete Express tiene esto incorporado. Pero no lo obtienes sin el intellisense personalizado.
(Recibí esto de la publicación de Salamander2007)
La respuesta anterior me ayudó a crear un atajo para ejecutar la declaración actual sin seleccionar la consulta
1 - Haz clic en Herramientas > Opciones > Entorno > Teclado
2 - Para los comandos Show que contienen, establézcalo en SqlComplete10.Common_ExecuteCurrentStatement
3 - Para Usar un nuevo atajo, configúrelo en el Editor de consultas SQL
4 - Para presionar teclas de método abreviado (tecla de atajo deseada), realice la combinación Ctrl-Intro.
5 - Haga clic en Asignar . Haga clic en Aceptar.
Lo siguiente me funciona ... Uso SSMS 2012
1 - Haga clic en Herramientas> Opciones> Teclado de entorno
2 - Para los comandos Show que contienen , establézcalo en Query.Execute
3 - Para Usar un nuevo atajo , configúrelo en el Editor de consultas SQL
4 - Para presionar teclas de método abreviado , realice la combinación Ctrl-Intro.
5 - Haga clic en Asignar. Haga clic en Aceptar.
No creo que esto sea posible usando solo el estudio de administración. PERO puede usar el software de atajo de teclado (por ejemplo, http://www.autohotkey.com/ ) para grabar una secuencia especial y asignarla a una tecla de acceso directo. En tu caso necesitas:
<home><shift-end><F5>
Esto seleccionará la línea actual y la ejecutará.
Presiona Ctrl - E mientras el texto está resaltado.
Puede combinar las dos herramientas de la siguiente manera: SQL Complete de dbForce y AuhotHotkey.
Con SQL Complete: puede ejecutar la instrucción actual en el cursor, presionando la combinación Ctrl Shift E
La razón por la que utilicé el AutoHotkey es para hacer la vida más fácil :-) usando solo F6 para ejecutar el enunciado actual, estableciendo el siguiente código en el script de AutoHotkey:
;SQL EXECUTE THE CURRENT STATEMENT
F6::
Send ^+E
return
Y voilà puedes ejecutar cualquier instrucción actual con el cursor presionando F6
Pero a veces, nuevamente mi gran problema es presionar F5 en lugar de F6: D
Puede consultar este complemento para SSMS 2012. Coloque el cursor dentro de la instrucción que desea ejecutar y presione CTRL + MAYÚS + E
Ejecutor SSMS - https://github.com/devvcat/ssms-executor/releases
Actualizar:
El proyecto se trasladó a github y el complemento se reescribió para admitir SSMS 2014, SSMS 2016. (Anteriormente, el proyecto vivía en codeplex, en SSMS Executor - http://ssmsexecutor.codeplex.com/ ).
Si es necesario mover la mano hacia la parte del mouse que le molesta, puede mantener presionada la tecla Ctrl presionando una tecla de flecha hacia arriba o hacia abajo para seleccionar una línea a la vez.
Si la solución complementaria del ejecutor (en la respuesta superior publicada) no funciona correctamente, funcionó para mí (SSMS v17.8.1): el complemento agrega un comando en Herramientas: Herramientas> Ejecutar instrucción interna .
Puede asignarle una tecla de atajo de teclado personalizada yendo a Herramientas> Opciones> Teclado, luego busque "ejecutar" en el ''Mostrar comandos que contienen:'' y seleccione Herramientas.ExeguirInnerStatement . Luego, simplemente asigne las pulsaciones de teclas que desee en el campo ''Presione teclas de acceso directo:'' y presione el botón Asignar.
Simplemente seleccione (resalte) la declaración única que desea ejecutar y presione F5.
Use Ctrl + KU para seleccionar una línea. Luego usa F5 para ejecutarlo.
Aunque solo funciona para la selección de una sola línea, todavía lo encuentro bastante útil.
¡¡Espero eso ayude!!
Uso una solución alternativa: comento consultas que no estoy usando. Puede usar CTRL-K, CTRL-C para comentar el SQL que ha resaltado. Use CTRL-K, CTRL-U para descomentar. De esta forma, puede comentar todas las demás consultas y ejecutar la que le interese con F5.
siempre puedes usar las herramientas de línea de comandos sqlcmd y osql. Hice un montón de sybase all en la línea de comandos de Unix usando una función de contenedor que pasaba mi cadena de comandos al equivalente (que creo que era isql?). Utilicé vi para, entonces quizás estaba loco entonces ;-)
Alguien sugirió estas características en Devart dbForge SQL Complete (complemento para Management Studio), y aún está en la etapa de desarrollo. Esperemos que esté terminado y que no se abandone a mitad de camino del desarrollo.
Ok, entonces lo que obtengo de todas estas respuestas es "No, eso no es posible".
Editar:
Así es como pude hacer esto:
1 - Descargar SQL Developer
2 - Descargue el controlador jTDS
3 - Siga estas instrucciones para agregar ese controlador a SQL Developer
4 - Conéctese a SQL Server usando SQL Developer (¡genial!)
5 - Ejecútalo y la vida es buena