이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 윈 토토버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

젠 토토

이름

UPDATE --테이블 행 젠 토토

시놉시스

[ [ 재귀 ] 사용with_query[, ...] ]
젠 토토 [만]테이블_이름[ * ] [ [ AS ]별칭]
     설정컬럼_이름 = { 표현| 기본값  |
          (컬럼_이름 [, ...] ) = ( { 표현| 기본값  [, ...] )  [, ...]
    [ 보낸사람from_list]
    [어디에서조건| 현재는 어디입니까?cursor_name]
    [ 돌아오는 중 * |출력_표현[ [ 그대로 ]output_name ] [, ...] ]

설명

젠 토토조건을 만족하는 모든 행의 지정된 열 값을 변경합니다. 수정할 열만 언급하면 됩니다.SET절; 명시적으로 수정되지 않은 열은 이전 값을 유지합니다.

데이터베이스의 다른 테이블에 포함된 정보를 사용하여 테이블을 수정하는 두 가지 방법이 있습니다: 하위 선택을 사용하거나 다음에서 추가 테이블을 지정하는 것입니다.발신절. 어떤 기술이 더 적절한지는 특정 상황에 따라 다릅니다.

선택사항돌아오는 중절 원인젠 토토실제로 젠 토토된 각 행을 기반으로 값을 계산하고 반환합니다. 테이블의 열 및/또는에 언급된 다른 테이블의 열을 사용하는 모든 표현식발신, 계산할 수 있습니다. 테이블 열의 새(젠 토토 후) 값이 사용됩니다. 의 구문돌아오는 중목록은 출력 목록의 목록과 동일합니다.선택.

당신은 다음을 가지고 있어야 합니다젠 토토테이블에 대한 권한 또는 적어도 젠 토토되도록 나열된 열에 대한 권한입니다. 또한 다음이 있어야 합니다.선택값이 읽혀지는 모든 열에 대한 권한표현또는조건.

매개변수

with_query

위드절을 사용하면에서 이름으로 참조할 수 있는 하나 이상의 하위 쿼리를 지정할 수 있습니다.젠 토토질의. 참조PostgreSQL : 문서 : 9.4 : 젠 토토와 함께 (공통 테이블 표현식)그리고PostgreSQL : 문서 : 9.4 : 스포츠 토토 사이트자세한 내용은.

테이블_이름

젠 토토할 테이블의 이름(선택적으로 스키마 한정). 만일이 테이블 이름 앞에 지정되어 있으며 일치하는 행은 명명된 테이블에서만 젠 토토됩니다. 만일이 지정되지 않으면 명명된 테이블에서 상속되는 모든 테이블에서 일치하는 행도 젠 토토됩니다. 선택적으로,*테이블 이름 뒤에 지정하여 하위 테이블이 포함되어 있음을 명시적으로 나타낼 수 있습니다.

별칭

대상 테이블의 대체 이름입니다. 별칭이 제공되면 테이블의 실제 이름이 완전히 숨겨집니다. 예를 들어, 주어진foo AS f 젠 토토, 나머지젠 토토문은 이 테이블을 다음과 같이 참조해야 합니다.f아님foo.

열_이름

이름이 지정된 테이블의 열 이름테이블_이름. 필요한 경우 하위 필드 이름이나 배열 첨자로 열 이름을 한정할 수 있습니다. 대상 열의 사양에 테이블 이름을 포함하지 마세요. 예:젠 토토 탭 설정 tab.col = 1잘못되었습니다.

표현

열에 할당할 표현식입니다. 표현식은 이 열과 테이블에 있는 다른 열의 이전 값을 사용할 수 있습니다.

기본값

열을 기본값으로 설정합니다(특정 기본 표현식이 할당되지 않은 경우 NULL이 됩니다).

from_list

다른 테이블의 열이 표시되도록 허용하는 테이블 표현식 목록어디조건 및 젠 토토 표현식. 이는에서 지정할 수 있는 테이블 목록과 유사합니다.FROM 절선택성명. 대상 테이블은에 나타나서는 안 됩니다.from_list, 자체 조인을 의도하지 않은 경우(이 경우 별칭과 함께 표시되어야 함)from_list).

조건

유형의 값을 반환하는 표현식부울. 이 표현식이 반환되는 행만젠 토토됩니다.

cursor_name

에서 사용할 커서의 이름현재 위치조건. 젠 토토할 행은 이 커서에서 가장 최근에 가져온 행입니다. 커서는에서 비그룹화 쿼리여야 합니다.젠 토토의 대상 테이블입니다. 참고하세요현재 위치부울 조건과 함께 지정할 수 없습니다. 참조토토 사이트 PostgreSQL : 문서 : 9.4 : 선언커서 사용에 대한 자세한 내용은현재 위치.

출력_표현

다음에 의해 계산되고 반환되는 표현식젠 토토각 행이 젠 토토된 후 명령. 표현식은 다음으로 명명된 테이블의 모든 열 이름을 사용할 수 있습니다.테이블_이름또는 다음에 나열된 테이블발신. 쓰기*모든 열을 반환합니다.

output_name

반환된 열에 사용할 이름입니다.

출력

성공적으로 완료되면,젠 토토명령은 다음 형식의 명령 태그를 반환합니다.

젠 토토개수

개수는 값이 변경되지 않은 일치하는 행을 포함하여 젠 토토된 행 수입니다. 숫자는와 일치하는 행 수보다 작을 수 있습니다.조건젠 토토가 다음에 의해 억제되었을 때젠 토토 전트리거. 만일개수is 0, 쿼리로 젠 토토된 행이 없습니다(이는 오류로 간주되지 않음).

만약에젠 토토명령에 다음이 포함됨돌아오는 중절, 결과는 a의 결과와 유사합니다.선택에 정의된 열과 값을 포함하는 문돌아오는 중명령으로 젠 토토된 행에 대해 계산된 목록입니다.

참고

언제발신절이 존재하는 경우 본질적으로 발생하는 일은 대상 테이블이 다음에 언급된 테이블에 조인된다는 것입니다.from_list, 조인의 각 출력 행은 대상 테이블에 대한 젠 토토 작업을 나타냅니다. 사용시발신조인이 수정될 각 행에 대해 최대 하나의 출력 행을 생성하는지 확인해야 합니다. 즉, 대상 행은 다른 테이블의 둘 이상의 행에 조인되어서는 안 됩니다. 그렇다면 조인 행 중 하나만 사용하여 대상 행을 젠 토토하지만 어느 행이 사용될지는 쉽게 예측할 수 없습니다.

이러한 불확실성 때문에 하위 선택 내에서만 다른 테이블을 참조하는 것이 더 안전하지만 조인을 사용하는 것보다 읽기가 더 어렵고 속도도 느립니다.

단어 변경드라마극적열에종류테이블의영화:

UPDATE 영화 SET 종류 = '드라마틱' WHERE 종류 = '드라마';

테이블의 한 행에서 온도 항목을 조정하고 강수량을 기본값으로 재설정날씨:

UPDATE 날씨 설정 temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT
  WHERE 도시 = '샌프란시스코' AND 날짜 = '2003-07-03';

동일한 작업을 수행하고 젠 토토된 항목을 반환합니다:

UPDATE 날씨 설정 temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT
  WHERE 도시 = '샌프란시스코' AND 날짜 = '2003-07-03'
  temp_lo, temp_hi, prcp 반환 중;

동일한 젠 토토를 수행하려면 대체 열 목록 구문을 사용하십시오.

젠 토토 날씨 설정 (temp_lo, temp_hi, prcp) = (temp_lo+1, temp_lo+15, DEFAULT)
  WHERE 도시 = '샌프란시스코' AND 날짜 = '2003-07-03';

다음을 사용하여 Acme Corporation의 계정을 관리하는 영업사원의 판매 횟수를 증가시킵니다.발신절 구문:

UPDATE 직원 SET sales_count = sales_count + 1 FROM 계정
  WHERE account.name = 'Acme Corporation'
  AND 직원.ID = account.sales_person;

다음에서 하위 선택을 사용하여 동일한 작업을 수행합니다.어디절:

UPDATE 직원 SET sales_count = sales_count + 1 WHERE id =
  (이름 = 'Acme Corporation'인 계정에서 sales_person 선택);

재고 수량과 함께 새 재고 항목을 삽입하려고 시도했습니다. 항목이 이미 존재하는 경우 대신 기존 항목의 재고 수를 젠 토토하십시오. 전체 트랜잭션을 실패하지 않고 이를 수행하려면 저장점을 사용하십시오.

시작;
-- 기타 작업
세이브포인트 sp1;
INSERT INTO wines VALUES('Chateau Lafite 2003', '24');
-- 고유 키 위반으로 인해 위의 작업이 실패했다고 가정합니다.
-- 이제 다음 명령을 실행합니다.
sp1로 롤백합니다.
젠 토토 와인 세트 재고 = 재고 + 24 WHERE 와인 이름 = 'Chateau Lafite 2003';
-- 다른 작업을 계속하고 결국에는
커밋;

변경종류테이블의 열영화커서가 있는 행에서c_films현재 위치:

젠 토토 영화 세트 종류 = 현재 c_films가 있는 곳에서는 '드라마틱';

호환성

이 명령은 다음을 준수합니다.SQL표준, 다음을 제외하고발신그리고돌아오는 중절은포스트그레SQL확장 기능 및 사용 기능함께젠 토토.

표준에 따르면 열 목록 구문은 하위 선택과 같은 단일 행 값 표현식에서 열 목록을 할당할 수 있도록 허용해야 합니다.

계정 설정 젠 토토(contact_last_name, contact_first_name) =
    (판매원에게서 성, 이름을 선택하세요.
     salesmen.id = account.sales_id);

이것은 현재 구현되지 않습니다. 소스는 독립적인 표현의 목록이어야 합니다.

일부 다른 데이터베이스 시스템은 다음을 제공합니다.발신대상 테이블이 다시 나열되는 옵션발신. 그렇지 않아요포스트그레SQL해석발신. 이 확장 프로그램을 사용하는 애플리케이션을 포팅할 때는 주의하세요.