스포츠 토토 결과 만들기

스포츠 토토 결과 작성 - 새 재 작성 스포츠 토토 결과 정의

시놉시스

만들기 [또는 교체] 스포츠 토토 결과 만들기이름as이벤트totable_name[where조건]
    [또한 | 대신] 아무것도 |명령| (명령;명령...)여기서이벤트중 하나 일 수 있습니다 :선택 | 삽입 | 업데이트 | 삭제

설명

스포츠 토토 결과 만들기지정된 테이블 또는보기에 적용되는 새 스포츠 토토 결과을 정의합니다.스포츠 토토 결과 작성 또는 교체새 규칙을 만들거나 같은 테이블에 대해 동일한 이름의 기존 규칙을 대체합니다.

thePostgreSQL규칙 시스템을 사용하면 데이터베이스 테이블에서 삽입, 업데이트 또는 삭제에 대해 대체 작업을 수행 할 수 있습니다. 대략적으로 말하면, 스포츠 토토 결과은 주어진 테이블의 주어진 명령이 실행될 때 추가 명령을 실행하게합니다. 또는 an대신규칙은 주어진 명령을 다른 명령으로 바꾸거나 명령을 전혀 실행하지 않도록 할 수 있습니다. 규칙은 SQL 뷰도 구현하는 데 사용됩니다. 규칙이 실제로 명령 변환 메커니즘이거나 명령 매크로라는 것을 인식하는 것이 중요합니다. 변환은 명령 실행이 시작되기 전에 발생합니다. 실제로 각 물리적 행에 대해 독립적으로 발사되는 작업을 원한다면 규칙이 아닌 트리거를 사용하고 싶을 것입니다. 규칙 시스템에 대한 자세한 정보는입니다.토토 핫 : 문서 : 17 : 39 장.

현재,ON SELECT스포츠 토토 결과은보기에만 첨부 될 수 있습니다. 그러한 스포츠 토토 결과은 명명되어야합니다"_return", 무조건이어야합니다대신스포츠 토토 결과, 단일로 구성된 조치가 있어야합니다select명령. 이 명령은보기의 가시 내용을 정의합니다. (보기 자체는 기본적으로 스토리지가없는 더미 테이블입니다.) 그러한 규칙을 구현 세부 사항으로 간주하는 것이 가장 좋습니다. 뷰는를 통해 재정의 할 수 있지만규칙을 만들거나 교체하거나 교체하십시오 "_return"as ..., 사용하는 것이 더 나은 스타일입니다보기 만들거나 교체.

정의하여 업데이트 가능한보기의 환상을 만들 수 있습니다insert, 업데이트ON DELETE뷰의 업데이트 작업을 다른 테이블의 적절한 업데이트로 대체하기위한 규칙 (또는 목적에 충분한 서브 세트). 지원하고 싶다면반환 삽입그리고 그러면 적절한 것을 넣으십시오반환각 스포츠 토토 결과에 대한 조항.

복잡한보기 업데이트를 위해 조건부 규칙을 사용하려고하면 캐치가 있습니다.필수무조건적대신보기에서 허용하려는 각 조치에 대해 규칙. 규칙이 조건부이거나 그렇지 않은 경우대신, 시스템은 여전히 ​​업데이트 작업을 수행하려는 시도를 거부합니다. 일부 경우 뷰의 더미 테이블에서 작업을 수행하려고 할 수 있다고 생각하기 때문입니다. 조건부 규칙으로 유용한 모든 사례를 처리하려면 무조건 추가대신 아무것도규칙 시스템이 더미 테이블을 업데이트하기 위해 절대 요구되지 않을 것임을 이해하도록하십시오. 그런 다음 조건부 규칙을 비로 만드십시오.대신; 적용되는 경우 기본값에 추가대신 아무것도행동. (이 방법은 현재 지원하기 위해 작동하지 않습니다반환쿼리.)

Note

자동으로 업데이트 할 수있을 정도로 간단한보기 (참조보기 만들기)는 업데이트하기 위해서는 사용자가 만든 규칙이 필요하지 않습니다. 어쨌든 명시적인 규칙을 만들 수는 있지만 자동 업데이트 변환은 일반적으로 명시적인 규칙을 능가합니다.

고려할 가치가있는 또 다른 대안은 사용하는 것입니다대신트리거 (참조트리거 만들기) 규칙 대신.

매개 변수

이름

생성 규칙의 이름. 이것은 같은 테이블에 대한 다른 규칙의 이름과 구별되어야합니다. 동일한 테이블 및 동일한 이벤트 유형에 대한 여러 규칙이 알파벳 순서로 적용됩니다.

이벤트

이벤트는 중 하나입니다.select, 삽입, 업데이트또는삭제. AN삽입포함충돌조항은 테이블에서 사용할 수 없습니다삽입또는업데이트규칙. 대신 업데이트 가능한보기를 고려하십시오.

table_name

테이블의 이름 (선택적으로 스키마 자격) 또는 규칙이 적용됩니다.

조건

anySQL조건부 표현식 (반환부울). 조건 표현식은을 제외한 테이블을 참조 할 수 없습니다.NEWandold, 집계 함수를 포함 할 수 없습니다.

대신

대신명령을 실행해야 함을 나타냅니다대신원래 명령.

또한

또한명령이 실행되어야 함을 나타냅니다더 이상원래 명령.

그렇지 않은 경우또한NOR대신지정되어 있습니다.또한기본값입니다.

명령

규칙 조치를 구성하는 명령 또는 명령. 유효한 명령은select, 삽입, 업데이트, 삭제또는알림.

조건and명령, 특별 테이블 이름NEWandold참조 표에서 값을 참조하는 데 사용될 수 있습니다.NEW유효합니다insertandon Update삽입 또는 업데이트되는 새 행을 참조하는 규칙.old유효합니다on updateandON DELETE기존 행을 업데이트하거나 삭제하는 규칙.

노트

당신은 스포츠 토토 결과을 만들거나 변경하기 위해 테이블의 소유자 여야합니다.

스포츠 토토 결과에 따라삽입, 업데이트또는삭제보기에서 A를 추가 할 수 있습니다반환보기의 열을 방출하는 조항. 이 조항은 스포츠 토토 결과이 AN에 의해 ​​트리거되면 출력을 계산하는 데 사용됩니다.리턴 삽입, 업데이트 반환또는반환 삭제각각 명령. 규칙이 명령이없는 명령에 의해 트리거되는 경우반환, 스포츠 토토 결과반환절은 무시됩니다. 현재 구현은 무조건적 인 경우대신포함하는 규칙반환; 또한 최대 하나가있을 수 있습니다반환동일한 사건에 대한 모든 스포츠 토토 결과 중 조항. (이것은 후보가 하나만 있음을 보장합니다반환결과를 계산하는 데 사용되는 절입니다.)반환보기의 쿼리는 없으면 거부됩니다반환사용 가능한 스포츠 토토 결과의 조항.

순환 규칙을 피하기 위해주의를 기울이는 것이 매우 중요합니다. 예를 들어, 다음 두 가지 규칙 정의는 각각에 의해 수락되지만postgresql, Theselect명령은 원인이 될 것입니다PostgreSQL스포츠 토토 결과의 재귀 확장으로 인해 오류를보고하려면 :

규칙 작성 "_return"as
    T1까지 선택하십시오
    대신하십시오
        선택 *에서 t2에서;

규칙 "_return"을 작성하십시오
    T2로 선택하십시오
    대신하십시오
        선택 *에서 *;

선택 *에서 t1;

현재, 스포츠 토토 결과 조치에 A가 포함 된 경우Notify명령,Notify명령은 무조건 실행됩니다. 즉,Notify스포츠 토토 결과에 적용 해야하는 행이 없어도 발행됩니다. 예를 들어 :

mytable에 대한 업데이트시대로 규칙을 작성하십시오.

mytable set name = 'foo'여기서 id = 42; 업데이트

ONENotify이벤트는 동안 발송됩니다.업데이트, 조건과 일치하는 행이 있는지 여부id = 42. 이것은 향후 릴리스에서 수정 될 수있는 구현 제한입니다.

호환성

스포츠 토토 결과 만들기isPostgreSQL언어 확장, 전체 쿼리 재 작성 시스템과 마찬가지로

정정 제출

문서에 올바른 것이 없으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면