[[recursive]With_Query[, ...]]table_name[ *] [[as]alias]column_name = { 표현| 기본값 |column_name[, ...]) = (표현| 기본값 [, ...]) |column_name[, ...]) = (Sub-Select)from_item[, ...]]조건| 어디서cursor_name]output_expression[[as]output_name] [, ...]]
토토 베이상태를 만족하는 모든 행에서 지정된 열의 값을 변경합니다. 수정 될 열만 언급해야합니다.set절; 명시 적으로 수정되지 않은 열은 이전 값을 유지합니다.
데이터베이스의 다른 테이블에 포함 된 정보를 사용하여 테이블을 수정하는 두 가지 방법이 있습니다. 하위 선택을 사용하거나 추가 테이블을 지정하는From절. 어떤 기술이 더 적절한 지 특정 상황에 따라 다릅니다.
선택 사항반환절의 원인토토 베이실제로 토토 베이 된 각 행을 기반으로 값을 계산하고 반환합니다. 테이블의 열을 사용한 모든 표현 및/또는에 언급 된 다른 테이블의 열From, 계산할 수 있습니다. 테이블 열의 새로운 (사후 토토 베이) 값이 사용됩니다.반환목록은 출력 목록의 목록과 동일합니다select.
당신은가 있어야합니다토토 베이테이블의 특권 또는 최소한 토토 베이 될 열에서. 당신은 또한가 있어야합니다.select값에서 값을 읽는 모든 열의 특권표현또는조건.
thewith절에서 이름으로 언급 할 수있는 하나 이상의 하위 쿼리를 지정할 수 있습니다.토토 베이쿼리. 보다PostgreSQL : 문서 : 9.5 : 토토 결과와 함께 (공통 테이블 표현식)andselect자세한 내용.
토토 베이 할 테이블의 이름 (선택적으로 스키마 자격). 만약에전용테이블 이름 앞에 지정되어 있으며, 일치 행은 명명 된 테이블에서만 토토 베이됩니다. 만약에전용지정되지 않았으며, 일치 행은 이름이 지정된 테이블에서 상속되는 테이블에서도 토토 베이됩니다. 선택적으로,*테이블 이름 후에 지정하여 자손 테이블이 포함되어 있음을 명시 적으로 표시 할 수 있습니다.
대상 테이블의 대체 이름. 별칭이 제공되면 테이블의 실제 이름을 완전히 숨 깁니다.foo를 f 토토 베이, 나머지토토 베이Statement는이 테이블을로 언급해야합니다.fnotfoo.
|table_name. 열 이름은 필요한 경우 하위 필드 이름 또는 배열 첨자로 자격을 갖추 수 있습니다.토토 베이 table_name set table_name.col = 1무효.
열에 할당 할 수있는 표현식. 표현식은 테이블 의이 값과 다른 열의 기존 값을 사용할 수 있습니다.
열을 기본값으로 설정합니다 (특정 기본 표현식이 할당되지 않은 경우 NULL이됩니다)..
A select이전의 괄호 화 된 열 목록에 나열된만큼 많은 출력 열을 생성하는 하위 쿼리. 하위 쿼리는 실행될 때 1 행을 넘어서는 안됩니다.
다른 테이블에서 열이 표시 될 수있는 테이블 표현식여기서조건 및 토토 베이 표현식. 이것은와 동일한 구문을 사용합니다.FROM CLAUSEofselect진술; 예를 들어, 테이블 이름의 별칭을 지정할 수 있습니다.from_item자체 교육을 의도하지 않는 한 (이 경우에 별명으로 나타나야합니다from_item).
유형 값을 반환하는 표현식부울. 이 표현이 반환되는 행만true토토 베이됩니다.
a에서 사용할 커서의 이름현재의 전류조건. 토토 베이 될 행은이 커서에서 가장 최근에 가져온 행입니다.토토 베이의 대상 테이블. 참고현재의 전류부울 조건과 함께 지정할 수 없습니다. 보다스포츠 토토 PostgreSQL커서 사용에 대한 자세한 내용은현재의 전류.
|토토 베이각 행이 토토 베이 된 후 명령. 표현식은에 의해 이름이 지정된 테이블의 열 이름을 사용할 수 있습니다.table_name또는 테이블에 나열된From. 쓰다*모든 열을 반환하려면
반환 된 열에 사용할 이름.
성공적인 완료시토토 베이명령은 양식의 명령 태그를 반환
토토 베이count
thecount값이 변경되지 않은 일치 행을 포함하여 행이 토토 베이되었습니다. 그 숫자는와 일치하는 행의 수보다 적을 수 있습니다.조건A에 의해 토토 베이가 억제되는 경우토토 베이 전트리거. 만약에countis 0, 쿼리에 의해 행이 토토 베이되지 않았습니다 (오류로 간주되지 않음)
토토 베이명령이 포함되어반환절에서 결과는 a의 결과와 유사합니다.select반환명령에 의해 토토 베이 된 행을 통해 계산 된 목록.
언제From조항이 존재합니다. 본질적으로 발생하는 일은 대상 테이블이에 언급 된 테이블에 결합 된 것입니다.from_item목록 및 조인의 각 출력 행은 대상 테이블의 토토 베이 작업을 나타냅니다. 사용시From결합이 각 행에 대해 최대 하나의 출력 행을 생성해야합니다. 다시 말해, 대상 행은 다른 테이블에서 둘 이상의 행에 결합해서는 안됩니다.
이 불확실성으로 인해 하위 선택 내에서 다른 테이블 만 참조하는 것은 더 안전하지만 종종 가입을 사용하는 것보다 읽기가 어렵고 느리게 느낍니다..
단어 변경드라마to드라마열에서Kind표의영화:
토토 베이 영화 세트 종류 = 'dramatic'where kind = 'drama';
온도 항목 조정 및 테이블의 한 줄에서 기본값으로 강수량을 재설정날씨:
토토 베이 날씨 세트 temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = default
동일한 작업을 수행하고 토토 베이 된 항목을 반환합니다.
토토 베이 날씨 세트 temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = default
대체 열 목록 구문을 사용하여 동일한 토토 베이를 수행합니다.
토토 베이 날씨 세트 (temp_lo, temp_hi, prcp) = (temp_lo+1, temp_lo+15, 기본값)
ACME Corporation의 계정을 관리하는 영업 사원의 판매 수를 촉진합니다.From조항 구문 :
직원 토토 베이 세트 Sales_Count = Sales_Count + 1 계정에서
에서 하위 선택을 사용하여 동일한 작업을 수행합니다여기서절 :
직원 토토 베이 세트 Sales_Count = Sales_Count + 1 여기서 id =
현재 지정된 영업 사원과 일치하도록 계정 테이블의 연락처 이름 토토 베이 :
토토 베이 계정 세트 (contact_first_name, contact_last_name) =
비슷한 결과는 조인으로 이루어질 수 있습니다 :
토토 베이 계정 세트 contact_first_name = first_name,
그러나 두 번째 쿼리는 예상치 못한 결과를 줄 수 있습니다.세일즈맨.id고유 키는 아니지만, 첫 번째 쿼리는 여러 개가 있으면 오류를 제기 할 수 있습니다id일치합니다. 또한 특정과 일치하지 않는 경우계정.sales_id항목, 첫 번째 쿼리는 해당 이름 필드를 NULL로 설정하는 반면, 두 번째 쿼리는 해당 행을 전혀 토토 베이하지 않습니다..
현재 데이터와 일치하도록 요약 테이블의 통계 토토 베이 :
SUBTARY S SET (SUM_X, SUM_Y, AVG_X, AVG_Y) =
재고량과 함께 새 재고 품목을 삽입하려고 시도합니다. 항목이 이미 존재하는 경우 대신 기존 품목의 재고 수를 토토 베이하십시오.
시작;
변경Kind표의 열영화커서의 행에C_FILMS현재 위치 :
토토 베이 필름 세트 c_films의 전류에서
이 명령은를 준수합니다.SQL표준을 제외하고Fromand반환조항은PostgreSQL사용 능력과 마찬가지로 확장자withwith토토 베이.
일부 다른 데이터베이스 시스템은 A를 제공합니다.From대상 테이블이 다시 나열되어야하는 옵션From. 그것은 방법이 아닙니다PostgreSQL해석From. 이 확장자를 사용하는 응용 프로그램을 포팅 할 때주의하십시오.
표준에 따르면, 열 이름의 괄호로 된 하위 목록의 소스 값은 올바른 열의 열을 산출하는 행 값 표현식 일 수 있습니다..PostgreSQL소스 값이 괄호로 된 표현식 목록 또는 하위 만 허용합니다.select. 개별 열의 토토 베이 된 값은로 지정할 수 있습니다.기본값표현 목록 사례에서, 그러나 하위 내부는 아닙니다.select.