UPDATE 문

UPDATE 문은 테이블 또는 뷰의 하나 이상의 행에서 지정된 열의 값을 변경합니다. UPDATE SQL 문에 대한 전체 설명은 Oracle Database SQL Reference를 참조하십시오.

구문

update 문 :: =

그림 update_statement.gif에 대한 설명

키워드 및 매개 변수 설명

alias

일반적으로 WHERE 절에서 사용되는 참조 된 테이블 또는 뷰의 다른 (일반적으로 짧은) 이름입니다.

column_name

업데이트 할 열 (또는 열 중 하나)입니다. 참조 된 테이블 또는 뷰의 열 이름이어야합니다. column_name 목록에서 열 이름을 반복 할 수 없습니다. 열 이름은 UPDATE 문에 표 또는보기에 나타나는 순서와 동일한 순서로 표시 될 필요가 없습니다.

returning_clause

값을 반환합니다. 업데이트 된 행에서 나중에 행을 SELECT 할 필요가 없습니다. 열 값을 변수 나 호스트 변수 또는 컬렉션이나 호스트 배열로 검색 할 수 있습니다. 원격 또는 병렬 업데이트에는 RETURNING 절을 사용할 수 없습니다. 문이 행에 영향을주지 않으면 RETURNING 절에 지정된 변수 값이 정의되지 않습니다. returning_clause 구문은 “RETURNING INTO 절”을 참조하십시오.

SET column_name = sql_expression

이 절은

column_name로 식별 된 열에 추가합니다. sql_expression에 업데이트중인 테이블의 열에 대한 참조가 포함 된 경우 참조는 현재 행의 컨텍스트에서 확인됩니다. 이전 열 값은 등호 오른쪽에 사용됩니다.

SET column_name = (subquery3)

column_name로 식별 된 열에 추가합니다. 하위 쿼리는 정확히 하나의 행과 하나의 열을 반환해야합니다.

SET (column_name, column_name, …) = (subquery4)

column_name 목록의 열에 추가합니다. 하위 쿼리는 나열된 모든 열을 포함하는 정확히 하나의 행을 반환해야합니다. 하위 쿼리에서 반환 된 열 값은 열 목록의 열에 순서대로 할당됩니다. 첫 번째 값은 목록의 첫 번째 열에 할당되고 두 번째 값은 목록의 두 번째 열에 할당되는 식입니다.

sql_expression

모든 유효한 SQL 식입니다. 자세한 내용은 Oracle Database SQL 참조를 참조하십시오.

subquery

처리 할 행 집합을 제공하는 SELECT 문입니다. 구문은 INTO 절이없는 select_into_statement의 구문과 같습니다. “SELECT INTO 문”을 참조하세요.

table_reference

UPDATE 문을 실행할 때 액세스 할 수 있어야하는 테이블 또는 뷰 UPDATE 권한이 있어야합니다. table_reference 구문은 “DELETE 문”을 참조하세요.

TABLE (subquery2)

는 중첩 된 테이블 또는 varray 여야하는 단일 열 값을 반환하는 SELECT 문입니다. 연산자 TABLE는 값이 스칼라 값이 아니라 컬렉션임을 Oracle에 알립니다.

WHERE CURRENT OF cursor_name

최신 행을 참조합니다. 지정된 커서와 관련된 FETCH 문에 의해 처리됩니다. 커서는 FOR UPDATE 여야하며 열려 있고 행에 배치되어야합니다. 커서가 열려 있지 않으면 CURRENT OF 절로 인해 오류가 발생합니다. 커서가 열려 있지만 페치 된 행이 없거나 마지막 페치에서 반환 된 행이없는 경우 PL / SQL은 사전 정의 된 예외 NO_DATA_FOUND를 발생시킵니다.

WHERE search_condition

데이터베이스 테이블에서 업데이트 할 행을 선택합니다. 검색 조건을 충족하는 행만 업데이트됩니다. 이 절을 생략하면 테이블의 모든 행이 업데이트됩니다.

사용 참고 사항

UPDATE WHERE CURRENT OF 문 (커서

루프), 연결된 쿼리가 FOR UPDATE 인 경우. 이 문은 방금 가져온 행을 업데이트합니다.

암시 적 커서 SQL 및 커서 속성 %NOTFOUND, %FOUND, %ROWCOUNT%ISOPEN를 사용하면 UPDATE 실행에 대한 유용한 정보에 액세스 할 수 있습니다. 문.

예 13-7은 올바른 직원 ID가 있지만 잘못된 이름을 가진 테이블을 만듭니다. 그런 다음 상관 된 쿼리와 함께 UPDATE 문을 실행하여 EMPLOYEES 테이블에서 올바른 이름을 검색하고 새 테이블에서 이름을 수정합니다. .

예를 보려면 다음을 참조하십시오.

예 1-12, “저장된 하위 프로그램 만들기”
예 4-1, “간단한 IF-THEN 문 사용”
예 5-51, “레코드를 사용하여 행 업데이트”
예 5-52, “레코드와 함께 RETURNING 절 사용”
예 6-1, “PL / SQL을 사용한 데이터 조작”
예 6-5, “CURRVAL 및 NEXTVAL 사용”
예 6-6, “ROWNUM 사용”
예 6-38, “ROLLBACK과 함께 SAVEPOINT 사용”
예 6-41, “CURRENT 사용 OF는 커서에서 가져온 최신 행을 업데이트합니다. “
예 7-1,”동적 SQL의 예 “
예 7-5,”RETURNING BULK COLLECT INTO 절이있는 동적 SQL “
예 7-6 , “FORALL 문 내 동적 SQL”
예 11-6, “FORALL과 함께 롤백 사용”
예 11-9, “예외에도 불구하고 계속되는 대량 작업”

관련 항목

“데이터 조작”
“DELETE 문”
“FETCH 문”
“INSERT 문”

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다