이미 데이터베이스에 있는 데이터의 수정을 사설 토토라고 합니다. 개별 행, 테이블의 모든 행 또는 모든 행의 하위 집합을 사설 토토할 수 있습니다. 각 열은 별도로 사설 토토될 수 있습니다. 다른 열은 영향을 받지 않습니다.
기존 행을 사설 토토하려면 다음을 사용하세요.사설 토토명령. 이를 위해서는 세 가지 정보가 필요합니다.
사설 토토할 테이블 및 열의 이름
열의 새 값
사설 토토할 행
다음에서 불러오기롤 토토 : 문서 : 12 : 5 장 데이터 정의SQL은 일반적으로 행에 대한 고유 식별자를 제공하지 않습니다. 따라서 사설 토토할 행을 직접 지정하는 것이 항상 가능한 것은 아닙니다. 대신, 사설 토토하기 위해 행이 충족해야 하는 조건을 지정합니다. 테이블에 기본 키가 있는 경우에만(선언 여부에 관계없이) 기본 키와 일치하는 조건을 선택하여 개별 행을 안정적으로 처리할 수 있습니다. 그래픽 데이터베이스 액세스 도구는 이 사실을 기반으로 행을 개별적으로 사설 토토할 수 있습니다.
예를 들어, 이 명령은 가격이 5인 모든 제품을 가격이 10으로 사설 토토합니다:
제품 세트 가격 사설 토토 = 10 WHERE 가격 = 5;
이로 인해 0개, 1개 또는 다수의 행이 사설 토토될 수 있습니다. 어떤 행과도 일치하지 않는 사설 토토를 시도하는 것은 오류가 아닙니다.
그 명령을 자세히 살펴보겠습니다. 첫 번째는 키워드입니다사설 토토테이블 이름이 이어집니다. 평소와 같이 테이블 이름은 스키마로 한정될 수 있으며, 그렇지 않으면 경로에서 조회됩니다. 다음은 키워드입니다SET다음에는 열 이름, 등호 및 새 열 값이 옵니다. 새 열 값은 상수뿐만 아니라 모든 스칼라 표현식이 될 수 있습니다. 예를 들어 모든 제품의 가격을 10% 인상하려면 다음을 사용할 수 있습니다.
제품 세트 가격 사설 토토 = 가격 * 1.10;
보시다시피, 새 값에 대한 표현식은 행의 기존 값을 참조할 수 있습니다. 우리는 또한 다음을 생략했습니다.어디절. 생략하면 테이블의 모든 행이 사설 토토된다는 의미입니다. 존재하는 경우, 다음과 일치하는 행만어디조건이 사설 토토되었습니다. 의 등호 기호에 유의하세요.SET절은 할당이고,어디절은 비교이지만 이로 인해 모호함은 발생하지 않습니다. 물론,어디에서조건은 동일성 테스트일 필요는 없습니다. 다른 많은 연산자를 사용할 수 있습니다(참조PostgreSQL : 문서 : 12 : 제 9 장 범퍼카 토토 및 연산자). 하지만 표현식은 부울 결과로 평가되어야 합니다.
당신은 하나 이상의 열을 사설 토토할 수 있습니다.사설 토토다음에 하나 이상의 할당을 나열하여 명령SET절. 예를 들면:
UPDATE mytable SET a = 5, b = 3, c = 1 WHERE a 0;