이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 스포츠 토토 베트맨버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

토토 캔

토토 캔 - 표의 토토 캔

시놉시스

[[recursive]With_Query[, ...]]
[only]에서 토토 캔table_name[ *] [[as]alias]
    [사용from_item[, ...]]
    [ 어디조건| 어디서cursor_name]
    [반환 [with (old | new asoutput_alias[, ...])]
                 * |output_expression[[as]output_name] [, ...]]

설명

토토 캔만족하는 행을 토토 캔합니다여기서지정된 테이블의 조항. 인 경우여기서절은없고, 그 효과는 테이블의 모든 행을 토토 캔하는 것입니다. 결과는 유효하지만 빈 테이블입니다.

Truncate테이블에서 모든 행을 제거하는 더 빠른 메커니즘을 제공합니다.

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

선택 사항반환절의 원인토토 캔실제로 토토 캔 된 각 행을 기반으로 값을 계산하고 반환합니다. 테이블의 열을 사용한 모든 표현 및/또는에 언급 된 다른 테이블의 열사용, 계산할 수 있습니다. 의 구문반환목록은 출력 목록의 목록과 동일합니다select.

당신은가 있어야합니다.토토 캔테이블에서 토토 캔할 권한과select사용조항 또는 값에서 값을 읽는 사람조건.

매개 변수

With_Query

thewith절에서 이름으로 언급 할 수있는 하나 이상의 하위 쿼리를 지정할 수 있습니다토토 캔쿼리. 보다PostgreSQL : 문서 : 18 : 7.8. 메이저 토토 사이트와 함께 (공통 테이블 표현식)select자세한 내용.

table_name

행을 토토 캔하기 위해 테이블의 이름 (선택적으로 스키마 자격). 만약에전용테이블 이름 앞에 지정되어 있으며, 일치 행은 지정된 테이블에서만 토토 캔됩니다. 만약에전용지정되지 않았으며, 일치 행은 이름이 지정된 테이블에서 상속되는 테이블에서 토토 캔됩니다. 선택적으로,*테이블 이름 뒤에 지정하여 자손 테이블이 포함되어 있음을 명시 적으로 표시 할 수 있습니다.

alias

대상 테이블의 대체 이름. 별칭이 제공되면 테이블의 실제 이름을 완전히 숨 깁니다. 예를 들어, 주어진foo에서 foo에서 f 토토 캔, 나머지토토 캔진술은이 표를로 언급해야합니다.fnotfoo.

from_item

다른 테이블에서 열이 표시되도록하는 테이블 표현식여기서조건. 이것은와 동일한 구문을 사용합니다.Froma 조항select진술; 예를 들어, 테이블 이름의 별칭을 지정할 수 있습니다. 대상 테이블을 A로 반복하지 마십시오.from_item자체 교육을 설정하지 않는 한 (이 경우에 별명이 나타나야합니다from_item).

조건

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

cursor_name

a에서 사용할 커서의 이름현재의 전류조건. 토토 캔 될 행은이 커서에서 가장 최근에 가져온 행입니다. 커서는에서 그룹화가 아닌 쿼리 여야합니다.토토 캔의 대상 테이블. 참고현재의 전류부울 조건과 함께 지정할 수 없습니다. 보다선언커서 사용에 대한 자세한 내용은현재의 전류.

output_alias

선택적 대체 이름에 대한old또는NEW반환목록.

기본적으로 대상 테이블의 이전 값을 쓰면 반환 할 수 있습니다old.column_name또는old.*, 그리고 새로운 값을 서면으로 반환 할 수 있습니다New.column_name또는NEW.*. 별칭이 제공되면 이러한 이름은 숨겨져 있으며 이전 또는 새 행을 별칭을 사용하도록 지칭해야합니다. 예를 들어돌아 오는 (OS OS O, NEW NIS N) O.*, n.*.

output_expression

계산 및 반환 할 표현식토토 캔각 행이 토토 캔 된 후 명령. 표현식은에 의해 이름이 지정된 테이블의 열 이름을 사용할 수 있습니다.table_name또는 테이블에 나열된사용. 쓰다*모든 열을 반환하려면

열 이름 또는*사용 자격이있을 수 있습니다old또는NEW또는 해당output_aliasforold또는NEW, 기존 또는 새 값을 반환합니다. 자격이없는 열 이름 또는*또는 열 이름 또는*대상 테이블 이름 또는 별칭을 사용하여 자격을 갖추거나 이전 값을 반환합니다.

간단한토토 캔, 모든 새로운 값은입니다.NULL. 그러나,ON DELETE규칙을 원인삽입또는업데이트대신 실행 되려면 새로운 값이 비 일 수 있습니다NULL.

output_name

반환 된 열에 사용할 이름.

출력

성공적인 완료시 A토토 캔명령은 양식의 명령 태그를 반환

토토 캔count

thecount토토 캔 된 행 수입니다. 그 숫자는와 일치하는 행의 수보다 적을 수 있습니다.조건A에 의해 토토 캔가 억제되었을 때토토 캔 전트리거. 만약에countis 0, 쿼리에 의해 행이 토토 캔되지 않았다 (이것은 오류로 간주되지 않음).

토토 캔명령이 포함되어반환조항, 결과는 a의 결과와 유사합니다.select반환명령에 의해 토토 캔 된 행 위로 계산 된 목록.

노트

PostgreSQL에서 다른 테이블의 기준 열을 참조 할 수 있습니다.여기서다른 테이블을 지정하여 조건사용절. 예를 들어, 주어진 프로듀서가 제작 한 모든 필름을 토토 캔하려면 다음을 수행 할 수 있습니다.

제작자를 사용하여 필름에서 토토 캔
  여기서 producer_id = producers.id 및 producers.name = 'foo';

본질적으로 일어나고있는 일은 여기서 관계매가 있습니다영화and프로듀서, 모든 성공적으로 결합 된영화토토 캔로 표시되는 행입니다. 이 구문은 표준이 아닙니다. 보다 표준적인 방법은 다음과 같습니다.

필름에서 토토 캔
  여기서 producer_id in (이름 = 'foo')

경우에 따라 조인 스타일은 하위 선택 스타일보다 쓰기가 더 쉽거나 더 빠릅니다.

예제

모든 영화를 토토 캔하지만 뮤지컬 :

Kind < '뮤지컬';에서 영화에서 토토 캔

테이블 지우기영화:

영화에서 토토 캔;

완료된 작업 토토 캔, 토토 캔 된 행에 대한 자세한 내용을 반환합니다 :

상태가있는 작업에서 토토 캔 = '완료'반환 *;

행 토토 캔작업커서C_TASKS현재 위치 :

c_tasks의 전류가있는 작업에서 토토 캔;

Limit조항토토 캔,에 설명 된 동일한 방법을 사용하여 유사한 효과를 얻을 수 있습니다.의 문서화업데이트:

delete_batch as (
  user_logs에서 l.ctid를 l로 선택하십시오
    여기서 l.status = '아카이브'
    l.creation_date의 주문
    업데이트를 위해
    10000을 제한하십시오
))
user_logs에서 dl로 토토 캔하십시오
  delete_batch 사용 Del
  여기서 dl.ctid = del.ctid;

호환성

이 명령은에 부합합니다.SQL표준을 제외하고사용반환조항은PostgreSQL사용 능력과 마찬가지로 확장자withwith토토 캔.

참조

Truncate