104 votes

Comment modifier les données dans la grille de résultats dans SQL Server Management Studio

Je veux modifier les valeurs de certaines lignes une fois que j'ai obtenu une sortie de requête dans la grille de résultats. Il est vrai que nous pouvons faire un clic droit sur la table et dire "ouvrir la table" pour obtenir une sortie de table éditable, mais ce que je veux, c'est une sortie de requête éditable, seulement certaines lignes correspondant à mes critères, et les éditer dans la grille de résultats.

Est-ce possible dans Microsoft SQL server Management Studio Express ?

1 votes

Marquer comme duplicata avec stackoverflow.com/questions/1535469/ ? Il dispose également d'une solution entièrement fonctionnelle

3 votes

@Brad - La réponse à la question liée ne fonctionne que si vous utilisez une seule table, c'est-à-dire sans jointures. Dès que vous commencez à joindre 2 ou 3 tables, vous ne pouvez plus le faire. Il serait intéressant de savoir s'il existe d'autres solutions.

2 votes

Lisez la réponse de @Yves A Martin ci-dessous pour une alternative à l'édition de tableaux qui sont JOINTS.

91voto

Lamak Points 33901

Vous pouvez faire quelque chose de similaire à ce que vous voulez. Faites un clic droit sur une table et sélectionnez "edit top 200 rows" (si vous êtes sur SQL Server 2008) ou "open table" en SQL Server 2005. Une fois que vous y êtes, il y a un bouton en haut qui dit "SQL" ; quand vous cliquez dessus, cela vous permet d'écrire une instruction SQL et vous pouvez éditer les résultats de celle-ci si vous cliquez sur une cellule que vous voulez modifier.

1 votes

Nous sommes en 2019, sa dernière version est SSMS 2017, toujours la même approche devrait être utilisée pour éditer les cellules de la grille ! un tel mauvais UI Design !

27voto

Yves A Martin Points 31

Vous pouvez le faire de la manière suivante :

  • transformer votre requête select en vue
  • cliquez à droite sur la vue et choisissez Edit All Rows (vous obtiendrez une grille de valeurs que vous pourrez modifier - même si les valeurs proviennent de différentes tables).

Vous pouvez également ajouter des déclencheurs d'insertion/mise à jour à votre vue qui vous permettront de récupérer les valeurs des champs de votre vue et d'utiliser ensuite T-SQL pour gérer les mises à jour de plusieurs tables.

1 votes

+1 - C'est la meilleure et la plus simple façon d'éditer des tables qui sont JOINTES. Bien que cela représente trop de travail pour accomplir cette tâche, c'est le seul moyen que j'ai trouvé pour le faire.

0 votes

Vous ne pouvez pas modifier les tables JOINED. Seulement les instructions SQL non JOIN. Toutes mes cellules ne sont pas éditables, lorsque j'ai une JOIN.

22voto

kd7 Points 16740

SSMS - Clic droit Résultats de l'édition 200 | Option | Volet | SQL - éditer la déclaration.

1 votes

SSMS 2014, sautez l'étape "Option".

15voto

Shen Lance Points 1059

Non. Il n'y a aucun moyen de modifier la grille de résultats. La grille de résultats est principalement destinée à l'affichage de la requête que vous avez exécutée.

Ceci pour la raison que n'importe qui peut exécuter des requêtes complexes. Espérons que la prochaine version inclura ce type de fonctionnalité.

J'espère que cela répond à votre question.

6 votes

Je ne vois pas pourquoi les gens ont rejeté votre réponse. Elle est en fait correcte. Une fois que vous utilisez une jointure dans votre requête, vous ne pouvez pas modifier les résultats en utilisant les méthodes suggérées dans les réponses jusqu'à présent. +1 pour moi.

0 votes

Vous pouvez copier la requête dans un volet SQL de la grille d'édition, ce à quoi les autres réponses font allusion.

7voto

Zoro Points 181

Il suffit de choisir "Editer les 200 premières lignes", d'appuyer sur Ctrl + 3 dans la zone de la grille d'édition (ou de cliquer sur "Afficher le volet SQL") et de modifier la requête...

Mais notez que cela ne fonctionnera que pour les requêtes qui ne contiennent pas "join".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X