결과 업데이트 규칙(Visual Database Tools)Rules for Updating Results (Visual Database Tools)

대부분의 경우 결과 창에 표시된 결과 집합을 업데이트할 수 있지만In many cases, you can update the result set displayed in the Results Pane. 업데이트를 할 수 없는 경우도 종종 있습니다.However, in some cases you cannot.

일반적으로 결과를 업데이트하려면 쿼리 및 뷰 디자이너 에 테이블의 행을 고유하게 식별할 수 있는 충분한 정보가 있어야 합니다.In general, in order to update results, the Query and View Designer must have sufficient information to uniquely identify the row in the table. 예를 들어 쿼리에 출력 목록의 기본 키가 포함되어 있는 경우입니다.An example is if the query includes a primary key in the output list. 또한 사용자는 데이터베이스를 업데이트할 수 있는 충분한 권한이 있어야 합니다.In addition, you must have sufficient permission to update the database.

쿼리가 뷰를 기반으로 하는 경우 해당 쿼리를 업데이트할 수 있습니다.If your query is based on a view, you might be able to update it. 뷰 자체가 아니라 뷰의 원본으로 사용하는 테이블에 적용된다는 점을 제외하면 동일한 지침이 적용됩니다.The same guidelines apply, except that they apply to the underlying tables in the view, not just to the view itself.

참고

쿼리 및 뷰 디자이너에서는 뷰를 기반으로 하여 결과 집합을 업데이트할 수 있는지 여부를 미리 결정할 수 없습니다.The Query and View Designer cannot determine in advance whether you can update a result set based on a view. 따라서 결과 집합을 업데이트할 수 없는 경우에도 모든 뷰가 표시됩니다.Therefore, it displays all views, even though you might not be able to update them.

아래 표는 결과 창에서 쿼리 결과를 업데이트할 수 있거나 업데이트할 수 없는 특정 예제를 요약한 것입니다.The following table summarizes specific instances in which you might and might not be able to update query results in the Results pane. 대부분의 경우 현재 사용하고 있는 데이터베이스가 쿼리 결과의 업데이트 여부를 결정합니다.In many cases, the database you are using dictates whether you can update query results.

QueryQuery 결과의 업데이트 가능 여부Can results be updated?
출력 목록의 기본 키가 있는 테이블 하나를 기반으로 하는 쿼리Query based on one table with primary key in the output list 예(아래 항목은 예외)Yes (except as listed below).
고유 인덱스 및 기본 키가 없는 테이블 하나를 기반으로 하는 쿼리Query based on a table with no unique index and without a primary key 쿼리와 데이터베이스에 따라 다릅니다.Depends on query and database. 일부 데이터베이스는 기록을 고유하게 식별할 수 있는 충분한 정보가 있는 경우 업데이트할 수 있습니다.Some databases allow updates if sufficient information is available to uniquely identify records.
조인되지 않은 여러 테이블을 기반으로 하는 쿼리Query based on multiple tables which are not joined 아니요.No.
데이터베이스에서 읽기 전용으로 표시된 데이터를 기반으로 하는 쿼리Query based on data marked as read-only in the database 아니요.No.
제한 조건이 없는 테이블 하나를 포함하는 뷰를 기반으로 하는 쿼리Query based on a view that involves one table with no constraints 예(아래 항목은 예외)Yes (except as listed below).
일 대 일 관계로 조인된 테이블을 기반으로 하는 쿼리Query based on tables joined with a one-to-one relationship 예(아래 항목은 예외)Yes (except as listed below).
일 대 다 관계로 조인된 테이블을 기반으로 하는 쿼리Query based on tables joined with a one-to-many relationship 일반적으로 업데이트 가능Usually.
다 대 다 관계가 있는 세 개 이상의 테이블을 기반으로 하는 쿼리Query based on three or more tables in which there is a many-to-many relationship 아니요.No.
업데이트 권한이 없는 테이블을 기반으로 하는 쿼리Query based on a table for which update permission is not granted 삭제할 수 있지만 업데이트할 수 없음Can delete but not update.
삭제 권한이 없는 테이블을 기반으로 하는 쿼리Query based on a table for which delete permission is not granted 업데이트할 수 있지만 삭제할 수 없음Can update but not delete.
집합 쿼리Aggregate query 아니요.No.
totals 또는 aggregate 함수를 포함하는 하위 쿼리를 기반으로 하는 쿼리Query based on a subquery that contains totals or aggregate functions 아니요.No.
중복 행을 제외하기 위해 DISTINCT 키워드를 포함하는 쿼리Query that includes the DISTINCT keyword to exclude duplicate rows 아니요.No.
FROM 절에 테이블을 반환하는 사용자 정의 함수 및 여러 개의 select 문이 들어 있는 사용자 정의 함수를 포함하는 쿼리Query whose FROM clause includes a user-defined function that returns a table and the user-defined function contains multiple select statements 아니요.No.
FROM 절에 인라인 사용자 정의 함수를 포함하는 쿼리Query whose FROM clause includes an inline user-defined function Yes.

또한 쿼리 결과의 특정 열을 업데이트할 수 없는 경우도 있습니다.In addition, you might not be able to update specific columns in the query results. 다음은 결과 창에서 업데이트할 수 없는 특정 열 형식을 요약한 것입니다.The following list summarizes specific types of columns that you cannot update in the Results pane.

  • 식을 기반으로 하는 열Columns based on expressions

  • 스칼라 사용자 정의 함수를 기반으로 하는 열Columns based on scalar user-defined functions

  • 다른 사용자가 삭제한 행 또는 열Rows or columns deleted by another user

  • 다른 사용자가 잠근 행 또는 열(잠긴 행은 잠금이 해제되는 즉시 업데이트될 수 있음)Rows or columns locked by another user (locked rows can usually be updated as soon as they are unlocked)

  • 타임스탬프 또는 BLOB 열Timestamp or BLOB columns

관련 항목:See Also

쿼리 및 뷰 디자인 방법 도움말 항목(Visual Database Tools)Design Queries and Views How-to Topics (Visual Database Tools)