적용 대상:SQL Server
대부분의 경우 결과 창에 표시되는 결과 집합을 업데이트할 수 있습니다. 그러나 경우에 따라 수행할 수 없습니다.
일반적으로 결과를 업데이트하려면 쿼리 및 뷰 디자이너 에 테이블의 행을 고유하게 식별할 수 있는 충분한 정보가 있어야 합니다. 예를 들어 쿼리에 출력 목록에 기본 키가 포함되어 있는 경우를 예로 들어 있습니다. 또한 데이터베이스를 업데이트할 수 있는 충분한 권한이 있어야 합니다.
쿼리가 뷰를 기반으로 하는 경우 쿼리를 업데이트할 수 있습니다. 보기 자체뿐만 아니라 보기의 기본 테이블에도 적용된다는 점을 제외하면 동일한 지침이 적용됩니다.
비고
쿼리 및 뷰 디자이너는 뷰에 따라 결과 집합을 업데이트할 수 있는지 여부를 미리 확인할 수 없습니다. 따라서 모든 보기를 업데이트할 수 없는 경우에도 모든 보기를 표시합니다.
다음 표에는 결과 창에서 쿼리 결과를 업데이트할 수 있고 업데이트하지 못할 수 있는 특정 인스턴스가 요약되어 있습니다. 대부분의 경우 사용하는 데이터베이스는 쿼리 결과를 업데이트할 수 있는지 여부를 결정합니다.
쿼리 | 결과를 업데이트할 수 있나요? |
---|---|
출력 목록에 기본 키가 있는 테이블 하나를 기반으로 쿼리 | 예(아래 나열된 경우 제외). |
고유 인덱스가 없고 기본 키가 없는 테이블을 기반으로 쿼리 | 쿼리 및 데이터베이스에 따라 달라집니다. 일부 데이터베이스는 레코드를 고유하게 식별하는 데 충분한 정보를 사용할 수 있는 경우 업데이트를 허용합니다. |
조인되지 않은 여러 테이블을 기반으로 쿼리 | 아니요. |
데이터베이스에서 읽기 전용으로 표시된 데이터를 기반으로 쿼리 | 아니요. |
제약 조건이 없는 하나의 테이블이 포함된 뷰를 기반으로 하는 쿼리 | 예(아래 나열된 경우 제외). |
일대일 관계로 조인된 테이블을 기반으로 쿼리 | 예(아래 나열된 경우 제외). |
일대다 관계로 조인된 테이블을 기반으로 쿼리 | 보통. |
다 대 다 관계가 있는 세 개 이상의 테이블을 기반으로 하는 쿼리 | 아니요. |
업데이트 권한이 부여되지 않은 테이블을 기반으로 하는 쿼리 | 삭제할 수 있지만 업데이트할 수는 없습니다. |
삭제 권한이 부여되지 않은 테이블을 기반으로 하는 쿼리 | 업데이트할 수 있지만 삭제할 수는 없습니다. |
집계 쿼리 | 아니요. |
합계 또는 집계 함수를 포함하는 하위 쿼리를 기반으로 하는 쿼리 | 아니요. |
중복 행을 제외하는 DISTINCT 키워드를 포함하는 쿼리 | 아니요. |
FROM 절에 테이블을 반환하는 사용자 정의 함수가 포함되어 있고 사용자 정의 함수에 여러 select 문이 포함된 쿼리 | 아니요. |
FROM 절에 인라인 사용자 정의 함수가 포함된 쿼리 | 예. |
또한 쿼리 결과에서 특정 열을 업데이트하지 못할 수도 있습니다. 다음 목록에는 결과 창에서 업데이트할 수 없는 특정 유형의 열이 요약되어 있습니다.
식을 기반으로 하는 열
스칼라 사용자 정의 함수를 기반으로 하는 열
다른 사용자가 삭제한 행 또는 열
다른 사용자가 잠근 행 또는 열(잠긴 행은 잠금 해제되는 즉시 일반적으로 업데이트될 수 있습니다).
타임스탬프 또는 BLOB 열