SQL Server Management Studio에서 결과 표의 데이터를 편집하는 방법


94

결과 그리드에 쿼리 출력이 표시되면 일부 행 값을 편집하고 싶습니다. 테이블을 마우스 오른쪽 버튼으로 클릭하고 테이블 열기라고 말하여 편집 가능한 테이블 출력을 얻을 수 있다는 것은 사실이지만, 내가 원하는 것은 편집 가능한 쿼리 출력, 내 기준과 일치하는 특정 행만, 결과 그리드에서 편집하는 것입니다.

Microsoft SQL Server Management Studio Express 내에서 가능합니까?


1
stackoverflow.com/questions/1535469/…를 사용 하여 중복으로 표시 하시겠습니까? 또한 완벽하게 작동하는 솔루션도 있습니다
Brad

3
@Brad-에 연결된 질문에 대한 답변은 단일 테이블을 사용하는 경우에만 작동합니다. 즉, 조인이 없습니다. 2 개 또는 3 개의 테이블을 결합하기 시작하면 더 이상이를 수행 할 수 없습니다. 다른 해결책이 있다면 흥미로울 것입니다.
Francis Rodgers

2
JOINED 테이블 편집에 대한 대안은 아래 @Yves A Martin 답변을 읽으십시오.
jaredbaszler

답변:


86

당신이 원하는 것과 비슷한 것을 할 수 있습니다. 테이블을 마우스 오른쪽 버튼으로 클릭하고 "상위 200 개 행 편집"(SQL Server 2008을 사용하는 경우) 또는 SQL Server 2005에서 "테이블 열기"를 선택합니다. 일단 테이블에 도착하면 맨 위에 "SQL"이라는 버튼이 있습니다. 이를 클릭하면 SQL 문을 작성할 수 있으며 변경하려는 셀을 클릭하면 결과를 편집 할 수 있습니다.


1
이것은 2019 년이고, 최신 버전은 SSMS 2017이며, 여전히 그리드 셀을 편집하는 데 동일한 접근 방식을 사용해야합니다! 그런 나쁜 UI 디자인!
S.Serpooshan dec

78

네, 가능합니다. 테이블을 마우스 오른쪽 버튼으로 클릭하고 Edit Top 200 Rows아래 이미지 와 같이 클릭하십시오.

여기에 이미지 설명 입력

그런 다음 결과 그리드의 아무 곳이나 클릭하여 SQL"Show Sql Pane"아이콘 을 활성화 합니다. 그러면 편집하기로 선택한 테이블에 대한 SQL 편집기가 열립니다. 여기에서 고유 한 SQL 쿼리를 작성한 다음 쿼리의 결과 집합을 직접 편집 할 수 있습니다.

여기에 이미지 설명 입력


25

이를 수행 할 수있는 방법은 다음과 같습니다.

  • 선택 쿼리를보기로 전환
  • 보기를 마우스 오른쪽 버튼으로 클릭하고 선택합니다 Edit All Rows (값이 다른 테이블의 값인 경우에도 편집 할 수있는 값 그리드가 표시됨).

뷰 필드에서 값을 가져온 다음 T-SQL을 사용하여 여러 테이블에 대한 업데이트를 관리 할 수 ​​있도록 뷰에 삽입 / 업데이트 트리거를 추가 할 수도 있습니다.


1
+1-조인 된 테이블을 편집하는 가장 쉽고 쉬운 방법입니다. 이 작업을 수행하기에는 너무 많은 작업이지만 내가 찾을 수있는 유일한 방법입니다.
jaredbaszler

JOINED 테이블은 편집 할 수 없습니다. 비 JOIN SQL 문만. JOIN이 있으면 모든 셀을 편집 할 수 없습니다.
Charles Robertson

20

SSMS-Edit 200의 결과를 마우스 오른쪽 단추로 클릭 | 옵션 | 창 | SQL-명령문을 편집하십시오.


SSMS 2014, "옵션"단계를 건너 뜁니다.
Denise Skidmore

17

아니요. 결과 그리드를 편집 할 수있는 방법이 없습니다. 결과 그리드는 주로 실행 한 쿼리의 목적을 표시하기위한 것입니다.

이것은 누구나 복잡한 쿼리를 실행할 수 있기 때문입니다. 다음 릴리스에서는 이러한 기능이 포함되기를 바랍니다.

나는 그것이 당신의 질문에 대답하기를 바랍니다.


6
사람들이 왜 당신의 대답을 거절했는지 모르겠습니다. 실제로 정확합니다. 쿼리에서 조인을 사용하면 지금까지의 답변에서 제안 된 방법을 사용하여 결과를 편집 할 수 없습니다. 나에게서 +1.
Francis Rodgers

다른 답변이 암시하는 편집 그리드 SQL 창에 쿼리를 복사 할 수 있습니다.
Denise Skidmore

17

주어진 답변은 여전히 ​​유효합니다. 이와 관련하여 SSMS (SQL Server 2016)는 변경되지 않았습니다.

"상위 200 개 행 편집"을 수행 한 후 기준 창을 사용할 수도 있습니다.

상위 200 개 컨텍스트 메뉴 편집

  1. 기준 창 표시
  2. 기준 입력
  3. 결과 표에서 직접 데이터 편집

기준 창 열기

또한 SSMS 옵션에서 이러한 명령의 행 수를 사용자 지정할 수 있습니다.

여기에 이미지 설명 입력


10

학습 답변
에서 올바른 솔루션을 볼 수 있으므로 업데이트 하십시오 . SQL 서버 관리 2014에서는 1. " 상위 200 개 행 편집 " 을 클릭 한 다음 2. " SQL 창 표시 (ctrl + 3) "를 클릭 하고 3. TOP ( 200) 선택 쿼리에서





선택 쿼리의 결과 를 편집하는 방법이 없습니다 Shen Lance 답변을 참조하십시오 . 다른 답변은 일반 선택에만 해당되며 200 개 레코드에만 해당됩니다.


5

예, 결합 된 결과를 편집 할 수 있습니다. (적어도 SSMS 2008 R2에서는) 뷰에서 조인을 사용하는 결과 값을 편집 한 후 쿼리를 다시 실행하여 결과를 새로 고쳐야합니다.

또한 SSMS가 "모든 행 편집"을 허용하도록 구성되어 있는지 확인해야합니다. SSMS-도구 | 옵션 | SQL Server 개체 탐색기 | 명령 ... 테이블 및보기 옵션 확장 ... "상위 n 행 편집 명령 값"에 0 값 입력 ... 선택에 대해서도이 작업을 수행 할 수 있습니다.

Yves A Martin의 응답은 100 % 정확합니다!

Rob


5

"상위 200 개 행 편집"을 선택하고 그리드 편집 영역에서 Ctrl + 3을 누른 다음 (또는 "SQL 창 표시"를 클릭) 쿼리를 편집합니다.

그러나 이것은 "join"을 포함하지 않는 쿼리에 대해서만 작동합니다.


4

먼저 이야기를 마우스 오른쪽 버튼으로 클릭하고 '모든 행 편집'을 선택하고 '쿼리 디자이너-> 창-> SQL'을 선택한 다음 그리드에서 쿼리 출력을 편집 할 수 있습니다.


3

SQL 데이터베이스에서 셀 내 편집을 자주 수행해야하는 경우 HeidiSQL 이 대우를 제공하고 사용이 더 간단 할 수 없으며 무료 / 오픈 소스 (기부 허용)입니다.

원래 MySQL 용으로 작성되었지만 이제 SQL Server를 처리 할 수 ​​있으며 실험적 (2014 년 8 월 현재) PostgreSQL 지원도 제공합니다.


3

관심있는 dB의 테이블이나 조인이 있거나 여러 dB를 사용하는 경우 master를 사용하는 서버의 데이터베이스를 마우스 오른쪽 버튼으로 클릭합니다. "상위 200 개 행 수정"을 선택합니다. 작업 표시 줄에서 "SQL"버튼을 선택합니다. 코드를 복사하여 기존 코드 위에 붙여넣고 다시 실행하십시오. 이제 쿼리의 결과 집합을 편집 할 수 있습니다. 셰리 ;-)


그것은 조명을 도왔습니다.
아사드 알리

2

쿼리가보기로 작성된 경우보기를 편집하고 값을 업데이트 할 수 있습니다. 모든보기에서 값을 업데이트 할 수있는 것은 아닙니다. 특정보기에서만 가능합니다. 자세한 내용은 View MSDN Link통해 데이터 수정 을 참조하십시오. 쿼리에 대한보기를 만들고 아래와 같이 200 개 행을 편집 할 수 있습니다.

여기에 이미지 설명 입력


여기에 반대표가있는 이유. 질문은 테이블 편집에만 국한되지 않습니다. 질문은 그가 얻는 쿼리 출력에 대한 결과 집합 표를 어떻게 편집 할 수 있는지에 관한 것입니다. 가능하다면 그는 쿼리에 대한보기를 만들고 행을 편집 할 수 있다고 제안했습니다.
Venkataraman R

0
  1. 명확하게 말하면 "상위 행 편집 명령의 값"옵션은 결과 집합이 편집 가능한지 여부와 관계가 없습니다. 결과 집합을 제한하는 방법 일뿐입니다.

  2. 단 하나의 테이블을 기반으로 쿼리의 결과 집합을 편집하는 것은 분명히 항상 가능합니다.

  3. 둘 이상의 테이블을 기반으로하는 쿼리의 결과 집합은 다음과 같은 조건에서 가능합니다. 쿼리에서 하나의 기반 테이블에만 속하는 경우 결과 집합의 필드를 한 번에 편집 할 수 있습니다! 필드가 기본 키인 경우 다음 번에 행을 편집하려면 각 행을 업데이트 한 후 새로 고침 / "SQL 실행"(Ctrl + R)을 수행해야합니다. 필드가 기본 키가 아니면 새로 고침 / "SQL 실행"(Ctrl + R)을 수행 할 필요가 없습니다.

SQL Server 2008-2016에서 테스트했습니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.