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 문”