토토 캔 - 표의 토토 캔
[[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 토토 캔
, 나머지토토 캔
진술은이 표를로 언급해야합니다.f
notfoo
.
from_item
다른 테이블에서 열이 표시되도록하는 테이블 표현식여기서
조건. 이것은와 동일한 구문을 사용합니다.From
a 조항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_alias
forold
또는NEW
, 기존 또는 새 값을 반환합니다. 자격이없는 열 이름 또는*
또는 열 이름 또는*
대상 테이블 이름 또는 별칭을 사용하여 자격을 갖추거나 이전 값을 반환합니다.
간단한토토 캔
, 모든 새로운 값은입니다.NULL
. 그러나,ON DELETE
규칙을 원인삽입
또는업데이트
대신 실행 되려면 새로운 값이 비 일 수 있습니다NULL
.
output_name
반환 된 열에 사용할 이름.
성공적인 완료시 A토토 캔
명령은 양식의 명령 태그를 반환
토토 캔count
thecount
토토 캔 된 행 수입니다. 그 숫자는와 일치하는 행의 수보다 적을 수 있습니다.조건
A에 의해 토토 캔가 억제되었을 때토토 캔 전
트리거. 만약에count
is 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사용 능력과 마찬가지로 확장자with
with토토 캔
.