Jak edytować dane w siatce wyników w SQL Server Management Studio

95

Chcę edytować niektóre wartości wierszy, gdy otrzymam wynik zapytania w siatce wyników. To prawda, że ​​możemy kliknąć tabelę prawym przyciskiem myszy i powiedzieć otwórz tabelę, aby uzyskać edytowalne dane wyjściowe tabeli, ale to, czego chcę, to edytowalne wyniki zapytania, tylko niektóre wiersze pasujące do moich kryteriów, i edytować je w siatce wyników.

Czy jest to możliwe w Microsoft SQL Server Management Studio Express?

bi2mon
źródło
1
Oznacz jako duplikat za pomocą stackoverflow.com/questions/1535469/… ? Ma również w pełni działające rozwiązanie
Brad
3
@Brad - Odpowiedź na pytanie, do którego prowadzi łącze, działa tylko wtedy, gdy używasz jednej tabeli, czyli nie ma złączeń. Gdy zaczniesz dołączać do 2 lub 3 stolików, nie możesz już tego robić. Byłoby interesujące, gdyby były jakieś inne rozwiązania.
Francis Rodgers,
2
Przeczytaj odpowiedź @Yves A Martin poniżej, aby uzyskać alternatywę dla edycji tabel, które są POŁĄCZONE.
jaredbaszler

Odpowiedzi:

86

Możesz zrobić coś podobnego do tego, co chcesz. Kliknij prawym przyciskiem myszy tabelę i wybierz „edytuj 200 pierwszych wierszy” (jeśli korzystasz z programu SQL Server 2008) lub „otwórz tabelę” w programie SQL Server 2005. Po osiągnięciu tego miejsca na górze znajduje się przycisk z napisem „SQL”; po kliknięciu pozwala na napisanie instrukcji SQL i możesz edytować jej wyniki, klikając komórkę, którą chcesz zmienić.

Lamak
źródło
1
To jest rok 2019, jego najnowsza wersja to SSMS 2017, nadal należy stosować to samo podejście do edycji komórek siatki! taki zły projekt interfejsu użytkownika!
S.Serpooshan,
78

Tak, jest to możliwe. Kliknij prawym przyciskiem myszy tabelę i kliknij, Edit Top 200 Rowsjak pokazano na obrazku poniżej

wprowadź opis obrazu tutaj

Następnie kliknij w dowolnym miejscu siatki wyników, aby włączyć SQLikonę „Pokaż okienko Sql”. Spowoduje to otwarcie edytora sql dla tabeli, którą zdecydowałeś się edytować, tutaj możesz napisać własne zapytanie sql, a następnie możesz bezpośrednio edytować zestaw wyników zapytania.

wprowadź opis obrazu tutaj

Uczenie się
źródło
25

Możesz to zrobić przez:

  • przekształcenie zapytania wybierającego w widok
  • kliknij prawym przyciskiem myszy widok i wybierz Edit All Rows (otrzymasz siatkę wartości, które możesz edytować - nawet jeśli wartości pochodzą z różnych tabel).

Możesz także dodać wyzwalacze wstawiania / aktualizowania do swojego widoku, które pozwolą ci pobrać wartości z pól widoku, a następnie użyć T-SQL do zarządzania aktualizacjami wielu tabel.

Yves A Martin
źródło
1
+1 - to najlepszy i najłatwiejszy sposób edycji POŁĄCZONYCH tabel. Chociaż jest to zbyt dużo pracy, aby wykonać to zadanie, jest to jedyny sposób, w jaki mogę to zrobić.
jaredbaszler
Nie możesz edytować POŁĄCZONYCH tabel. Tylko instrukcje SQL inne niż JOIN. Wszystkie moje komórki są nieedytowalne, kiedy mam JOIN.
Charles Robertson
20

SSMS - Kliknij prawym przyciskiem myszy Wyniki edycji 200 | Opcja | Okienko | SQL - edytuj instrukcję.

Ta01
źródło
SSMS 2014, pomiń krok „Opcja”.
Denise Skidmore
17

Nie. Nie ma możliwości edytowania siatki wyników. Siatka wyników służy głównie do wyświetlania wykonanego zapytania.

To dlatego, że każdy może wykonywać złożone zapytania. Miejmy nadzieję, że w następnej wersji będą zawierać tego rodzaju funkcje.

Mam nadzieję, że odpowiem na twoje pytanie.

pan b
źródło
6
Nie rozumiem, dlaczego ludzie odrzucili Twoją odpowiedź. Właściwie to jest poprawne. Po użyciu sprzężenia w zapytaniu nie możesz edytować wyników przy użyciu metod sugerowanych w żadnej z dotychczasowych odpowiedzi. +1 ode mnie.
Francis Rodgers,
Możesz skopiować zapytanie do okienka SQL edycji siatki, do czego nawiązują inne odpowiedzi.
Denise Skidmore
17

Podane odpowiedzi są nadal aktualne. W tym zakresie nie wprowadzono żadnych zmian w programie SSMS (SQL Server 2016).

Możesz również użyć panelu kryteriów po wykonaniu „Edytuj 200 pierwszych wierszy”.

Edytuj menu kontekstowe Top 200

  1. Pokaż okienko kryteriów
  2. Wprowadź jakieś kryterium
  3. Edytuj dane bezpośrednio w siatce wyników

Otwórz okienko kryteriów

Ponadto liczbę wierszy dla tych poleceń można dostosować w opcjach SSMS.

wprowadź opis obrazu tutaj

Ricardo C
źródło
10

AKTUALIZUJ,
jak widać poprawne rozwiązanie w Learning answer, w zarządzaniu serwerem SQL 2014 możesz 1.
kliknąć " Edit Top 200 Rows ",
a następnie 2.
kliknąć " Show SQL Pane (ctrl + 3) "
i
3. usunąć TOP ( 200) z zapytania wybierającego


Zapoznaj się z odpowiedzią Shen Lance, nie ma możliwości edycji wyniku zapytania wybierającego. a pozostałe odpowiedzi dotyczą tylko zwykłego wyboru i tylko 200 rekordów.

Hamid
źródło
5

Tak, możesz edytować połączone wyniki. (przynajmniej w programie SSMS 2008 R2) Po edycji dowolnych wartości wyników w widoku, w którym są używane sprzężenia, należy ponownie wykonać zapytanie, aby odświeżyć wyniki.

Musisz również upewnić się, że SSMS jest skonfigurowany tak, aby zezwolić na „Edytuj wszystkie wiersze” ... aby to zrobić w SSMS - Narzędzia | Opcje | Eksplorator obiektów SQL Server | Polecenia ... rozwiń opcje tabeli i widoku ... umieść wartość 0 w poleceniu „Wartość dla polecenia Edytuj górne n wierszy” ... można to zrobić również dla zaznaczenia.

Odpowiedź Yves A Martin jest w 100% poprawna!

Obrabować

Rob Ainscough
źródło
5

Po prostu wybierz „Edytuj 200 pierwszych wierszy”, naciśnij Ctrl + 3 w obszarze edycji siatki (lub kliknij „Pokaż okienko SQL”) i edytuj zapytanie ...

Pamiętaj jednak, że zadziała to tylko w przypadku zapytania niezawierającego słowa „dołącz”

Tomek
źródło
4

Przede wszystkim kliknij prawym przyciskiem myszy opowieść, wybierz „Edytuj wszystkie wiersze”, wybierz „Projektant zapytań -> Panel -> SQL”, po czym możesz edytować wynik zapytania w siatce.

Jack.one
źródło
3

Jeśli potrzebujesz często przeprowadzać edycję w komórce baz danych SQL, HeidiSQL działa świetnie , nie może być prostsze w użyciu i jest bezpłatne / open source (akceptowane darowizny).

Pierwotnie napisany dla MySQL, teraz obsługuje SQL Server i ma eksperymentalną (od sierpnia 2014) obsługę PostgreSQL.

Sean O
źródło
3

Kliknij prawym przyciskiem myszy dowolną tabelę w interesującym Cię dB lub dowolną bazę danych na serwerze za pomocą master, jeśli są łączenia lub używasz wielu dB. Wybierz „edytuj 200 pierwszych wierszy”. Wybierz przycisk „SQL” na pasku zadań. Skopiuj i wklej swój kod nad istniejącym kodem i uruchom ponownie. Teraz możesz edytować zestaw wyników zapytania. Sherry ;-)

Próbki Sherry R.
źródło
To pomogło Lit.
Asad Ali
2

Jeśli zapytanie jest zapisane jako widok, możesz edytować widok i aktualizować wartości. Aktualizacja wartości nie jest możliwa dla wszystkich widoków. Jest to możliwe tylko dla określonych widoków. Aby uzyskać więcej informacji, zobacz Modyfikowanie danych poprzez łącze do witryny MSDN . Możesz utworzyć widok dla zapytania i edytować 200 wierszy, jak podano poniżej:

wprowadź opis obrazu tutaj

Venkataraman R
źródło
Dlaczego tutaj jest głosowanie negatywne. Pytanie nie dotyczy edycji tabeli. Pytanie dotyczy tego, jak możemy edytować siatkę wyników dla dowolnego wyniku zapytania, jakie on otrzymuje. Zasugerowałem, że jeśli to możliwe, może utworzyć widok zapytania i edytować wiersze.
Venkataraman R
0
  1. Dla jasności: opcja „Wartość dla polecenia Edytuj górne wiersze” nie ma nic wspólnego z faktem, czy zestaw wyników można edytować, czy nie. To tylko sposób na ograniczenie zestawu wyników.

  2. Edytowanie zestawu wyników zapytania opartego na jednej i tylko jednej tabeli jest oczywiście zawsze możliwe.

  3. Zestaw wyników zapytania oparty na więcej niż jednej tabeli jest możliwy pod następującym warunkiem: Możesz edytować pola w zestawie wyników naraz, jeśli należą do jednej i tylko jednej tabeli bazowej w zapytaniu! Jeśli pola są Kluczem podstawowym, musisz wykonać odświeżanie / „Wykonaj SQL” (Ctrl + R) po każdej aktualizacji wiersza, aby następnym razem móc edytować wiersz. Jeśli pola nie są kluczem podstawowym, nie musisz wykonywać odświeżania / „Wykonaj SQL” (Ctrl + R).

Przetestowałem to na SQL Server 2008 - 2016!

Asg
źródło