DELETE문을 사용하여 테이블에서 행 제거
표에서 행을 제거하려면 DELETE문을 사용하십시오.
행을 삭제할 때 전체 행을 제거합니다. DELETE문은 행에서 특정 열을 제거하지 않습니다. DELETE문의 결과는 WHERE절에 지정된 탐색 조건을 충족하는 행 수에 따라 0개 이상의 테이블 행을 제거하는 것입니다. DELETE문에서 WHERE절을 생략하면, SQL은 테이블에서 모든 행을 제거합니다. DELETE문은 다음과 같습니다.
DELETE FROM table-name
WHERE search-condition ...
예를 들어, 부서 D11이 다른 사이트로 이동된다고 가정합니다. 다음과 같이 WORKDEPT 값이 D11인 각각의 행을 CORPDATA.EMPLOYEE 테이블에서 삭제합니다.
DELETE FROM CORPDATA.EMPLOYEE
WHERE WORKDEPT = 'D11';
WHERE절이 표에서 삭제하려는 행을 SQL에게 알려줍니다. SQL은 기본 표에서 탐색 조건을 만족시키는 모든 행을 삭제합니다. 보기에서 행을 삭제하면 기본 표의 행이 삭제됩니다. WHERE절은 생략할 수 있으나 WHERE이 없는 DELETE문은 표나 보기에서 모든 행을 삭제하기 때문에 하나의 WHERE절을 포함시키는 것이 좋습니다. 표 내용과 더불어 표 정의를 삭제하려면, DROP문을 실행하십시오.
DELETE문 수행시 SQL이 오류를 발견하면 자료 삭제를 중단하고 음의 SQLCODE를 리턴시킵니다. COMMIT(*ALL), COMMIT(*CS), COMMIT(*CHG) 또는 COMMIT(*RR)를 지정하면 표 내의 행이 삭제되지 않습니다(이 명령문에 의해 이미 삭제된 행이 있는 경우, 이전 값으로 복원됩니다). COMMIT(*NONE)이 지정되는 경우, 이미 삭제된 행은 이전 값으로 복원되지 않습니다.