Come modificare i dati nella griglia dei risultati in SQL Server Management Studio


94

Voglio modificare alcuni valori di riga una volta che ottengo un output della query nella griglia dei risultati. È vero che possiamo fare clic con il pulsante destro del mouse sulla tabella e dire tabella aperta per ottenere un output di tabella modificabile, ma quello che voglio è l'output della query modificabile, solo alcune righe corrispondenti ai miei criteri e modificarle nella griglia dei risultati.

Può questo possibile all'interno di Microsoft SQL Server Management Studio Express?


1
Contrassegnare come duplicato con stackoverflow.com/questions/1535469/… ? Ha anche una soluzione completamente funzionante
Brad

3
@Brad - La risposta alla domanda collegata a funziona solo se stai usando una singola tabella, cioè nessun join. Una volta che inizi a unirti a 2 o 3 tavoli, non puoi più farlo. Sarebbe interessante se ci fossero altre soluzioni.
Francis Rodgers,

2
Leggi la risposta di @Yves A Martin di seguito per un'alternativa alla modifica delle tabelle UNITE.
jaredbaszler

Risposte:


86

Puoi fare qualcosa di simile a quello che vuoi. Fare clic con il pulsante destro del mouse su una tabella e selezionare "modifica le prime 200 righe" (se si è su SQL Server 2008) o "apri tabella" in SQL Server 2005. Una volta arrivati ​​lì, c'è un pulsante in alto che dice "SQL"; quando fai clic su di esso, ti consente di scrivere un'istruzione SQL e puoi modificarne i risultati se fai clic su una cella che desideri modificare.


1
Questo è il 2019, la sua ultima versione è SSMS 2017, sempre lo stesso approccio dovrebbe essere utilizzato per modificare le celle della griglia! un pessimo design dell'interfaccia utente!
S.Serpooshan

77

Sì, è possibile. Fare clic con il tasto destro sulla tabella e fare clic su Edit Top 200 Rowscome mostrato nell'immagine sottostante

inserisci qui la descrizione dell'immagine

Quindi fare clic in un punto qualsiasi all'interno della griglia dei risultati, per abilitare l' SQLicona "Mostra riquadro SQL". Questo aprirà l'editor sql per la tabella che hai scelto di modificare, qui puoi scrivere la tua query sql e quindi puoi modificare direttamente il set di risultati della query.

inserisci qui la descrizione dell'immagine


25

Il modo in cui puoi farlo è:

  • trasformando la query selezionata in una visualizzazione
  • fai clic con il pulsante destro del mouse sulla vista e scegli Edit All Rows (otterrai una griglia di valori che puoi modificare, anche se i valori provengono da tabelle diverse).

Puoi anche aggiungere trigger di inserimento / aggiornamento alla visualizzazione che ti consentiranno di acquisire i valori dai campi di visualizzazione e quindi utilizzare T-SQL per gestire gli aggiornamenti a più tabelle.


1
+1 - Questo è il modo migliore e più semplice per modificare le tabelle UNITE. Sebbene questo sia troppo lavoro per svolgere questo compito, è l'unico modo che riesco a trovare per farlo.
jaredbaszler

Non è possibile modificare le tabelle UNITE. Solo istruzioni SQL non JOIN. Tutte le mie celle non sono modificabili, quando ho un JOIN.
Charles Robertson,

20

SSMS - Fare clic con il pulsante destro del mouse su Risultati di Modifica 200 | Opzione | Pane | SQL: modifica l'istruzione.


SSMS 2014, salta il passaggio "Opzione".
Denise Skidmore

17

No. Non è possibile modificare la griglia dei risultati. La griglia dei risultati serve principalmente per visualizzare gli scopi della query eseguita.

Questo perché chiunque può eseguire query complesse. Si spera che per la prossima versione includano questo tipo di funzionalità.

Spero che risponda alla tua domanda.


6
Non vedo perché la gente abbia votato contro la tua risposta. In realtà è corretto. Dopo aver utilizzato un join nella query, non è possibile modificare i risultati utilizzando i metodi suggeriti in nessuna delle risposte finora. +1 da me.
Francis Rodgers,

È possibile copiare la query in un riquadro SQL della griglia di modifica, che è ciò a cui alludono le altre risposte.
Denise Skidmore

17

Le risposte fornite sono ancora valide. Nessuna modifica in SSMS (SQL Server 2016) è stata apportata a tale riguardo.

È inoltre possibile utilizzare il riquadro dei criteri, dopo aver eseguito "Modifica le prime 200 righe".

Modifica menu contestuale Top 200

  1. Mostra riquadro criteri
  2. Inserisci un criterio
  3. Modifica i dati direttamente nella griglia dei risultati

Apri il riquadro dei criteri

Inoltre, il numero di righe per questi comandi può essere personalizzato nelle opzioni SSMS.

inserisci qui la descrizione dell'immagine


10

AGGIORNA
come puoi vedere la soluzione corretta nella risposta di apprendimento , nella gestione del server SQL 2014 puoi
1.fare clic su " Modifica le prime 200 righe "
e quindi
2. fare clic su " Mostra riquadro SQL (ctrl + 3) "
e
3. rimuovere TOP ( 200) dalla query selezionata


Fare riferimento alla risposta di Shen Lance non c'è un modo per modificare il risultato della query di selezione. e le altre risposte sono solo per la selezione normale e solo per 200 record.


5

Sì, puoi modificare i risultati uniti. (almeno in SSMS 2008 R2) Dopo aver modificato i valori dei risultati nella vista che utilizza i join, sarà necessario eseguire nuovamente la query per aggiornare i risultati.

È inoltre necessario assicurarsi che SSMS sia configurato per consentire "Modifica tutte le righe" ... per farlo in SSMS - Strumenti | Opzioni | Esplora oggetti di SQL Server | Comandi ... espandere la tabella e le opzioni di visualizzazione ... inserire un valore 0 in "Valore per il comando Modifica prime n righe" ... può farlo anche per la selezione.

La risposta di Yves A Martin è corretta al 100%!

rapinare


5

Basta scegliere "Modifica le prime 200 righe", premere Ctrl + 3 nell'area di modifica della griglia (o fare clic su "Mostra riquadro SQL") e modificare la query ...

Ma tieni presente che questo funzionerà solo per la query che non contiene "join"


4

Prima di tutto fai clic con il tasto destro del mouse sul conto seleziona "Modifica tutte le righe", seleziona "Query Designer -> Riquadro -> SQL", dopodiché puoi modificare l'output della query nella griglia.


3

Se è necessario eseguire frequentemente modifiche in-cell sui database SQL, HeidiSQL funziona a meraviglia , non potrebbe essere più semplice da usare ed è gratuito / open source (donazioni accettate).

Scritto originariamente per MySQL, ora può gestire SQL Server e ha anche il supporto PostgreSQL sperimentale (a partire da agosto 2014).


3

Fare clic con il tasto destro su qualsiasi tabella nel dB di interesse o su qualsiasi database nel server utilizzando master se ci sono join o utilizzando più dB. Seleziona "modifica le prime 200 righe". Seleziona il pulsante "SQL" nella barra delle applicazioni. Copia e incolla il tuo codice sul codice esistente ed esegui di nuovo. Ora puoi modificare il set di risultati della query. Sherry ;-)


Ciò ha aiutato una lit.
Asad Ali

2

Se la query viene scritta come una visualizzazione, è possibile modificare la visualizzazione e aggiornare i valori. L'aggiornamento dei valori non è possibile per tutte le viste. È possibile solo per visualizzazioni specifiche. Per ulteriori informazioni, vedere Modifica dei dati tramite la visualizzazione del collegamento MSDN . È possibile creare una visualizzazione per la query e modificare le 200 righe come indicato di seguito:

inserisci qui la descrizione dell'immagine


Perché qui c'è un voto negativo. La domanda non è specifica per la modifica di una tabella. La domanda riguarda, come possiamo modificare la griglia del set di risultati per qualsiasi output della query che sta ottenendo. Ho suggerito, se possibile, di creare una vista per la query e modificare le righe.
Venkataraman R

0
  1. Per essere chiari: l'opzione "Valore per il comando Modifica prime righe" non ha nulla a che fare con il fatto che un set di risultati sia modificabile o meno. È solo un modo per limitare il set di risultati.

  2. Ovviamente è sempre possibile modificare il set di risultati di una query basata su una e una sola tabella.

  3. Il set di risultati di una query basata su più di una tabella è possibile nelle seguenti condizioni: È possibile modificare i campi nel set di risultati contemporaneamente se appartengono a una e una sola tabella basata nella query! Se i campi sono Chiave primaria, è necessario eseguire l'aggiornamento / "Esegui SQL" (Ctrl + R) dopo ogni aggiornamento di riga, per poter modificare una riga la volta successiva. Se i campi non sono chiave primaria, non è necessario eseguire l'aggiornamento / "Esegui SQL" (Ctrl + R).

L'ho testato su SQL Server 2008-2016!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.