UPDATE 문

UPDATE 문을 사용하여 데이터베이스 테이블에서 레코드를 변경합니다. UPDATE 문의 포맷은 다음과 같습니다.

복사
UPDATE table_name SET column_name = expr, ... [ WHERE { conditions } ]

column_name은 값을 변경할 열의 이름입니다. 몇몇 열은 하나의 명령문에서 변경될 수 있습니다.

expr은 열의 새로운 값입니다.

보통 표현식은 열에 대해 상수 값입니다(하지만 하위 쿼리일 수 있음). 작은 따옴표(') 쌍 안에 문자열 값을 둘러싸야 합니다. 작은 따옴표로 둘러싼 문자열 값에 작은 따옴표를 포함하려면, 두 개의 작은 따옴표를 같이 사용하십시오(예: 'Don''t').

하위 쿼리는 괄호로 둘러싸야 합니다.

WHERE 절은 유효한 절입니다. 업데이트된 레코드를 결정합니다.

예제

emp 테이블의 UPDATE 문입니다.

복사
UPDATE emp SET salary=32000, exempt=1 WHERE emp_id = 'E10001'

UPDATE 문은 WHERE 절에서 조건을 충족하는 모든 레코드를 변경합니다. 이 경우 월급 및 예외 상태는 직원 ID가 E10001인 모든 직원에 대해 변경됩니다. 직원 ID가 직원 테이블에서 고유하기 때문에 하나의 레코드만 업데이트됩니다.

예제

하위 쿼리가 있는 emp 테이블의 UPDATE 문입니다.

복사
UPDATE emp SET salary = (SELECT avg(salary) from emp) WHERE emp_id = 'E10001'

이 경우 월급은 직원 ID가 E10001인 직원에 대해 회사 평균 월급으로 변경됩니다.

중요사항  

매개변수가 있는 명령문을 준비하고 사용자의 응용 프로그램에서 데이터를 스트림하지 않는 경우 컨테이너 필드에서 텍스트만 업데이트할 수 있습니다. 이진 데이터를 사용하려면 간단하게 작은 따옴표로 둘러싸서 파일 이름을 지정하거나 PutAs() 함수를 사용할 수 있습니다. 파일 이름을 지정하면 파일 유형은 파일 확장자로 추정됩니다.

복사
UPDATE table_name SET (container_name) = ? AS 'filename.file extension'

지원되지 않는 파일 유형은 유형 FILE로 삽입됩니다.

PutAs() 함수 사용 시 유형을 PutAs(col, 'type')으로 지정하십시오. 여기서 유형 값은 컨테이너 필드의 콘텐츠 검색하기: CAST() 함수 및 GetAs() 함수에서 설명한 대로 지원되는 파일 유형입니다.