Cómo editar datos en la cuadrícula de resultados en SQL Server Management Studio

94

Quiero editar algunos valores de fila una vez que obtenga un resultado de consulta en la cuadrícula de resultados. Es cierto que podemos hacer clic con el botón derecho en la tabla y decir abrir tabla para obtener una salida de tabla editable, pero lo que quiero es una salida de consulta editable, solo ciertas filas que coinciden con mis criterios, y editarlas en la cuadrícula de resultados.

¿Es esto posible dentro de Microsoft SQL Server Management Studio Express?

bi2mon
fuente
1
¿Marcar como duplicado con stackoverflow.com/questions/1535469/… ? También tiene una solución completamente funcional
Brad
3
@Brad: la respuesta a la pregunta vinculada solo funciona si está utilizando una sola tabla, es decir, sin combinaciones. Una vez que comience a unirse a 2 o 3 mesas, ya no podrá hacer esto. Sería interesante si hubiera otras soluciones.
Francis Rodgers
2
Lea la respuesta de @Yves A Martin a continuación para obtener una alternativa a la edición de tablas que están UNIDAS.
jaredbaszler

Respuestas:

86

Puedes hacer algo similar a lo que quieras. Haga clic con el botón derecho en una tabla y seleccione "editar las 200 filas superiores" (si está en SQL Server 2008) o "abrir tabla" en SQL Server 2005. Una vez que llegue allí, hay un botón en la parte superior que dice "SQL"; cuando hace clic en él, le permite escribir una declaración SQL y puede editar los resultados si hace clic en una celda que desea cambiar.

Lamak
fuente
1
Esto es 2019, su última versión es SSMS 2017, ¡aún se debe usar el mismo enfoque para editar las celdas de la cuadrícula! ¡Qué mal diseño de interfaz de usuario!
S.Serpooshan
78

Si, esto es posible. Haga clic derecho en la tabla y haga clic en Edit Top 200 Rowscomo se muestra en la imagen de abajo

ingrese la descripción de la imagen aquí

Luego haga clic en cualquier lugar dentro de la cuadrícula de resultados para habilitar el SQLicono "Mostrar panel Sql". Esto abrirá el editor SQL para la tabla que optó por editar, aquí puede escribir su propia consulta SQL y luego puede editar directamente el conjunto de resultados de la consulta.

ingrese la descripción de la imagen aquí

Aprendizaje
fuente
25

La forma en que puede hacer esto es:

  • convirtiendo su consulta seleccionada en una vista
  • haga clic con el botón derecho en la vista y elija Edit All Rows (obtendrá una cuadrícula de valores que puede editar, incluso si los valores son de diferentes tablas).

También puede agregar desencadenadores Insertar / Actualizar a su vista que le permitirán tomar los valores de sus campos de vista y luego usar T-SQL para administrar actualizaciones en múltiples tablas.

Yves A Martin
fuente
1
+1: esta es la forma mejor y más fácil de editar tablas que están UNIDAS. Si bien esto es demasiado trabajo para lograr esta tarea, es la única forma que puedo encontrar para hacerlo.
jaredbaszler
No puede editar tablas JOINED. Solo declaraciones SQL que no sean JOIN. Todas mis celdas no se pueden editar cuando tengo un JOIN.
Charles Robertson
20

SSMS - Resultados del clic derecho de Edit 200 | Opción | Panel | SQL: edite la declaración.

Ta01
fuente
SSMS 2014, omita el paso "Opción".
Denise Skidmore
17

No. No hay forma de que pueda editar la cuadrícula de resultados. La cuadrícula de resultados es principalmente para mostrar propósitos de la consulta que ejecutó.

Esto se debe a que cualquiera puede ejecutar consultas complejas. Con suerte, para el próximo lanzamiento incluirán este tipo de funcionalidad.

Espero haber respondido a tu pregunta.

mr.b
fuente
6
No veo por qué la gente rechazó tu respuesta. Es realmente correcto. Una vez que use una combinación en su consulta, no podrá editar los resultados utilizando los métodos sugeridos en ninguna de las respuestas hasta ahora. +1 de mi parte.
Francis Rodgers
Puede copiar la consulta en un panel SQL de la cuadrícula de edición, que es a lo que aluden las otras respuestas.
Denise Skidmore
17

Las respuestas dadas siguen siendo válidas. No se ha realizado ningún cambio en SSMS (SQL Server 2016) a ese respecto.

También puede utilizar el panel de criterios, después de hacer "Editar las 200 filas principales".

Editar menú contextual Top 200

  1. Mostrar panel de criterios
  2. Ingrese algún criterio
  3. Edite datos directamente en la cuadrícula de resultados

Abrir panel de criterios

Además, la cantidad de filas para esos comandos se puede personalizar en sus opciones de SSMS.

ingrese la descripción de la imagen aquí

Ricardo C
fuente
10

ACTUALIZAR
ya que puede ver la solución correcta en la respuesta de aprendizaje . En la administración del servidor SQL 2014, puede
1.hacer clic en " Editar las 200 filas principales "
y luego
2.hacer clic en " Mostrar panel SQL (ctrl + 3) "
y
3. eliminar TOP ( 200) de la consulta seleccionada


Consulte la respuesta de Shen Lance: no hay forma de editar el resultado de la consulta de selección. y las otras respuestas son solo para selección normal y solo para 200 registros.

Hamid
fuente
5

Sí, puede editar los resultados unidos. (al menos en SSMS 2008 R2) Después de editar cualquiera de los valores de resultado en la Vista que usa combinaciones, deberá ejecutar la consulta nuevamente para actualizar los resultados.

También debe asegurarse de que SSMS esté configurado para permitir "Editar todas las filas" ... para hacer esto en SSMS - Herramientas | Opciones | Explorador de objetos de SQL Server | Comandos ... expanda la Tabla y Opciones de Vista ... ponga un valor de 0 en "Valor para el comando Editar las n filas superiores" ... también puede hacer esto para la selección.

¡La respuesta de Yves A Martin es 100% correcta!

Robar

Rob Ainscough
fuente
5

Simplemente elija "Editar las 200 filas principales", presione Ctrl + 3 en la región de la cuadrícula de edición (o haga clic en "Mostrar panel SQL") y edite la consulta ...

Pero tenga en cuenta que esto solo funcionará para la consulta que no contenga "unirse"

Tom
fuente
4

En primer lugar, haga clic con el botón derecho en el cuento, seleccione 'Editar todas las filas', seleccione 'Diseñador de consultas -> Panel -> SQL', luego puede editar la salida de la consulta en la cuadrícula.

Jack.one
fuente
3

Si necesita realizar ediciones en celda con frecuencia en bases de datos SQL, HeidiSQL funciona de maravilla , no podría ser más simple de usar y es gratuito / de código abierto (se aceptan donaciones).

Originalmente escrito para MySQL, ahora puede manejar SQL Server y también tiene soporte experimental de PostgreSQL (a partir de agosto de 2014).

Sean O
fuente
3

Haga clic con el botón derecho en cualquier tabla en su dB de interés o en cualquier base de datos en el servidor usando master si hay uniones o usando múltiples dBs. Seleccione "editar las 200 filas principales". Seleccione el botón "SQL" en la barra de tareas. Copie y pegue su código sobre el código existente y ejecútelo nuevamente. Ahora puede editar el conjunto de resultados de su consulta. Jerez ;-)

Muestras de Jerez R
fuente
Eso ayudó a un lit.
Asad Ali
2

Si la consulta está escrita como una vista, puede editar la vista y actualizar los valores. No es posible actualizar valores para todas las vistas. Solo es posible para vistas específicas. Consulte Modificación de datos a través de View MSDN Link para obtener más información. Puede crear una vista para la consulta y editar las 200 filas como se indica a continuación:

ingrese la descripción de la imagen aquí

Venkataraman R
fuente
Por qué hay un voto negativo aquí. La pregunta no es específica de la edición de una tabla. La pregunta es cómo podemos editar la cuadrícula del conjunto de resultados para cualquier resultado de la consulta que esté obteniendo. Le sugerí, si es posible, que pueda crear una vista para la consulta y editar las filas.
Venkataraman R
0
  1. Para ser claros: la opción "Valor para el comando Editar filas superiores" no tiene nada que ver con el hecho de si un conjunto de resultados es editable o no. Es solo una forma de limitar el conjunto de resultados.

  2. Obviamente, siempre es posible editar el conjunto de resultados de una consulta basada en una y solo una tabla.

  3. El conjunto de resultados de una consulta basada en más de una tabla se encuentra en las siguientes condiciones posibles: ¡Puede editar los campos en el conjunto de resultados a la vez si pertenecen a una y solo una tabla basada en la consulta! Si los campos son Clave principal, entonces debe completar actualizar / "Ejecutar SQL" (Ctrl + R) después de cada actualización de fila, para poder editar una fila la próxima vez. Si los campos no son Clave principal, no es necesario que llene la actualización / "Ejecutar SQL" (Ctrl + R).

¡Lo he probado en SQL Server 2008-2016!

Asg
fuente