스포츠 토토 작성

스포츠 토토 만들기-표에 대한 새 행 수준 보안 스포츠 토토 정의

시놉시스

스포츠 토토 작성이름ontable_name[as 허용 | 제한적]role_name| 공개 |using_expression)]]check_expression)]

설명

the스포츠 토토 작성명령은 테이블에 대한 새 행 수준 보안 스포츠 토토을 정의합니다. 표에서로드 레벨 보안을 활성화해야합니다 (사용ALTER 테이블 ... 행 레벨 보안 활성화) 생성 된 스포츠 토토을 적용하려면

스포츠 토토은 관련 스포츠 토토 표현식과 일치하는 행을 선택, 업데이트 |, 업데이트 또는 삭제할 수있는 권한을 부여합니다. 기존 테이블 행은에 지정된 표현에 대해 확인됩니다.사용, 새로운 행을 통해 생성 될 새로운 행삽입또는업데이트지정된 표현에 대해 확인됩니다with with. A사용표현식은 주어진 행에 대해 true를 반환 한 다음 해당 행이 사용자에게 표시되는 반면 False 또는 Null이 반환되면 행이 표시되지 않습니다. Awith with표현식은 행에 대해 true를 반환하고 해당 행이 업데이트 |되거나 업데이트되고 False 또는 NULL이 반환되면 오류가 발생합니다.

for삽입, 업데이트병합진술,with with표현은 이후에 시행됩니다.트리거가 발사되고 실제 데이터 수정이 이루어지기 전에. 따라서 A전 행트리거 삽입 할 데이터를 수정하여 보안 스포츠 토토 검사 결과에 영향을 미칩니다.with with표현은 다른 제약 조건보다 먼저 시행됩니다.

스포츠 토토 이름은 테이블 당입니다. 따라서 하나의 스포츠 토토 이름은 여러 테이블에 사용될 수 있으며 해당 테이블에 적합한 각 테이블에 대한 정의가 있습니다.

스포츠 토토은 특정 명령 또는 특정 역할에 적용될 수 있습니다. 새로 생성 된 스포츠 토토의 기본값은 달리 명시되지 않는 한 모든 명령과 역할에 적용한다는 것입니다.표 287다른 유형의 스포츠 토토이 특정 명령에 어떻게 적용되는지 요약합니다.

둘 다 가질 수있는 스포츠 토토의 경우사용andwith withExpressions (alland업데이트), 그렇지 않은 경우with with표현식이 정의 된 다음사용표현식은 어떤 행이 보이는지를 결정하는 데 사용됩니다 (정상사용CASE) 및 추가 할 새 행이 추가 될 수 있습니다 (with withCASE).

테이블에 대한로드 레벨 보안이 활성화되어 있지만 적용 가능한 스포츠 토토이 존재하지 않으면 A기본 거부스포츠 토토이 가정되므로 행이 보이거나 업데이트 할 수 없습니다.

매개 변수

이름

생성 될 스포츠 토토의 이름. 이것은 표에 대한 다른 스포츠 토토의 이름과 구별되어야합니다.

table_name

표의 이름 (선택적으로 스키마 자격) 스포츠 토토이 적용됩니다.

허용

스포츠 토토이 허용 스포츠 토토으로 작성되어야한다고 지정하십시오. 주어진 쿼리에 적용 가능한 모든 허용 스포츠 토토은 부울을 사용하여 함께 결합됩니다.또는연산자. 허용 스포츠 토토을 만들어 관리자는 액세스 할 수있는 일련의 레코드에 추가 할 수 있습니다.

제한적

스포츠 토토이 제한 스포츠 토토으로 작성되어야한다고 지정합니다. 주어진 쿼리에 적용 가능한 모든 제한 스포츠 토토은 부울을 사용하여 함께 결합됩니다.and연산자. 제한 스포츠 토토을 작성함으로써 관리자는 각 레코드에 대해 모든 제한 스포츠 토토이 전달되어야하므로 액세스 할 수있는 레코드 세트를 줄일 수 있습니다.

제한 스포츠 토토을 유용하게 사용하여 해당 액세스를 줄이기 전에 기록에 대한 액세스 권한을 부여하기 위해 적어도 하나의 허용 스포츠 토토이 있어야한다는 점에 유의하십시오. 제한 스포츠 토토 만 존재하면 기록에 액세스 할 수 없습니다.

명령

스포츠 토토이 적용되는 명령. 유효한 옵션은all, select, 삽입, 업데이트삭제. all기본값입니다. 이들이 적용되는 방법에 대한 세부 사항은 아래를 참조하십시오.

role_name

스포츠 토토을 적용 할 역할. 기본값은public, 모든 역할에 스포츠 토토을 적용 할 것입니다.

using_expression

anySQL조건부 표현식 (반환부울). 조건부 표현식에는 집계 또는 창 함수가 포함될 수 없습니다.select), 수정에 사용할 수 없습니다 (in업데이트또는삭제). 이러한 행은 조용히 억제됩니다.

check_expression

anySQL조건부 표현식 (반환부울). 조건부 표현식에는 집계 또는 창 함수가 포함될 수 없습니다.삽입and업데이트행 수준 보안이 활성화 된 경우 테이블에 대한 쿼리. 표현식이 TRUE로 평가하는 행만 허용됩니다.check_expression원래 내용이 아닌 제안 된 새로운 내용에 대해 평가됩니다.

명령 당 스포츠 토토

all

사용all스포츠 토토의 경우 명령 유형에 관계없이 모든 명령에 적용됨을 의미합니다. IF anall스포츠 토토이 존재하고보다 구체적인 스포츠 토토이 존재합니다.all스포츠 토토 및보다 구체적인 스포츠 토토 (또는 스포츠 토토)이 적용됩니다. 또한,all스포츠 토토은 쿼리의 선택 측면과 수정 측면 모두에 적용됩니다.사용두 경우에 대한 표현사용표현이 정의되었습니다.

예를 들어, an업데이트발행 된 다음all스포츠 토토은 무엇에 적용 할 수 있습니다업데이트업데이트 할 행으로 선택할 수 있습니다 (적용사용expression), 그리고 그 결과 업데이트 된 행으로, 테이블에 추가 될 수 있는지 확인하려면 (with with표현, 정의 된 경우사용그렇지 않으면 표현). IF an삽입또는업데이트명령을 통과하지 않는 테이블에 행을 추가하려고 시도합니다all스포츠 토토with with표현, 전체 명령이 중단됩니다.

select

사용select스포츠 토토의 경우에 적용되는 스포츠 토토을 의미합니다.select쿼리 및 언제라도select스포츠 토토이 정의 된 관계에 대한 권한이 필요합니다. 결과적으로 통과하는 관계의 레코드 만입니다.select스포츠 토토은 a 중 반환됩니다.select쿼리 및 필요한 쿼리select예 : 권한업데이트, 또한에 의해 허용되는 레코드 만 볼 수 있습니다.select스포츠 토토. 에이select스포츠 토토을 가질 수 없음with with표현식, 관계에서 기록이 검색되는 경우에만 적용됩니다.

삽입

사용삽입스포츠 토토의 경우에 적용되는 스포츠 토토을 의미합니다.삽입명령 및병합포함하는 명령삽입행동. 이 스포츠 토토을 통과하지 못하는 행이 업데이트 |되는 행은 스포츠 토토 위반 오류가 발생하며 전체삽입명령이 중단됩니다.삽입스포츠 토토을 가질 수 없음사용표현식, 레코드가 관계에 추가되는 경우에만 적용됩니다.

참고삽입with충돌시 업데이트checks삽입스포츠 토토 'with with|삽입Path.

업데이트

사용업데이트스포츠 토토의 경우에 적용되는 스포츠 토토을 의미합니다.업데이트, 업데이트 선택and공유 선택보조 및 보조 명령충돌시 업데이트클로즈의삽입명령.병합포함 된 명령업데이트행동도 영향을받습니다. 부터업데이트기존 레코드를 가져 와서 새로운 수정 된 레코드로 교체하는 것과 관련이 있습니다.업데이트스포츠 토토은 모두 A를 수락합니다.사용표현 및 Awith with표현. 그만큼사용표현식을 기록한 표현업데이트명령은 작동하는 반면with with표현식은 어떤 수정 된 행이 관계에 다시 저장 될 수 있는지 정의합니다.

업데이트 된 값이 전달되지 않는 행with with표현식으로 인해 오류가 발생하고 전체 명령이 중단됩니다. 만있는 경우사용조항이 지정되면 해당 조항이 모두 사용됩니다사용andwith with케이스.

일반적으로업데이트명령도 업데이트중인 관계의 열에서 데이터를 읽어야합니다 (예 :여기서절 또는 A반환조항 또는 오른쪽의 표현식SET절). 이 경우select업데이트중인 관계에 대한 권리도 필요하며 적절한select또는all스포츠 토토이 적용됩니다업데이트스포츠 토토. 따라서 사용자는 a를 통해 업데이트되는 행에 액세스해야합니다.select또는all스포츠 토토은 AN을 통해 행을 업데이트 할 수있는 권한을 부여받는 것 외에도업데이트또는all스포츠 토토.

언제삽입명령은 보조충돌시 업데이트절인 경우업데이트경로가 가져오고 업데이트 될 행이 먼저에 대해 확인됩니다사용어떤 표현업데이트스포츠 토토, 그리고 새로운 업데이트 된 행이에 대해 확인됩니다with with표현. 그러나 독립형과 달리업데이트명령, 기존 행이 전달되지 않으면사용표현, 오류가 발생합니다 (업데이트Path Will절대조용히 피하십시오).

삭제

사용삭제스포츠 토토의 경우에 적용되는 스포츠 토토을 의미합니다.삭제명령. 이 스포츠 토토을 통과하는 행만이 A를 볼 수 있습니다.삭제명령. A를 통해 볼 수있는 행이있을 수 있습니다.select삭제에 사용할 수없는 것은 통과하지 않으면사용표현삭제스포츠 토토.

대부분의 경우 a삭제명령은 또한 삭제중인 관계의 열에서 데이터를 읽어야합니다 (예 : a여기서절 또는 A반환절). 이 경우select관계에 대한 권리도 필요하며 적절한select또는all스포츠 토토이 적용됩니다삭제스포츠 토토. 따라서 사용자는 a를 통해 삭제되는 행에 액세스해야합니다.select또는all스포츠 토토 a를 통해 행을 삭제할 수있는 권한이 부여되는 것 외에도삭제또는all스포츠 토토.

A 삭제스포츠 토토을 가질 수 없음with with표현식은 관계에서 레코드가 삭제되는 경우에만 적용되므로 확인할 새 행이 없습니다..

표 287. 명령 유형에 의해 적용되는 스포츠 토토

명령 선택/모든 스포츠 토토 삽입/모든 스포츠 토토 업데이트/모든 스포츠 토토 삭제/모든 스포츠 토토
표현 사용 with with expression 표현 사용 with with expression 표현 사용
select 기존 행
업데이트/공유 선택 기존 행 기존 행
삽입 / 병합 ... 그런 다음 삽입 New Row
삽입 ... 리턴 New Row[a] New Row
업데이트 / 병합 ... 그런 다음 업데이트 기존 및 새 행[a] 기존 행 New Row
삭제 기존 행[a] 기존 행
충돌시 업데이트 기존 및 새 행 기존 행 New Row

[a]기존 또는 새 행에 읽기 액세스가 필요한 경우 (예 : A여기서또는반환관계의 열을 나타내는 절).


여러 스포츠 토토의 적용

다른 명령 유형의 여러 스포츠 토토이 동일한 명령에 적용되는 경우 (예 :selectand업데이트스포츠 토토에 적용업데이트command), 사용자는 두 유형의 권한이 있어야합니다 (예 : 관계에서 행을 선택할 수있는 권한과 업데이트 권한). 따라서 한 유형의 스포츠 토토에 대한 표현은를 사용하여 다른 유형의 스포츠 토토에 대한 표현과 결합됩니다.and운영자.

동일한 명령 유형의 여러 스포츠 토토이 동일한 명령에 적용되면 하나 이상이 있어야합니다허용관계에 대한 접근 및 모든 스포츠 토토제한적스포츠 토토이 통과해야합니다. 따라서 모든허용스포츠 토토 표현은를 사용하여 결합됩니다또는, 모든제한적스포츠 토토 표현은를 사용하여 결합됩니다and, 결과는를 사용하여 결합됩니다.and. 없는 경우허용스포츠 토토, 액세스가 거부됩니다.

여러 스포츠 토토을 결합 할 목적으로all스포츠 토토은 다른 유형의 스포츠 토토이 적용되는 것과 동일한 유형을 갖는 것으로 취급됩니다.

예를 들어,업데이트둘 다 요구하는 명령selectand업데이트권한, 각 유형의 여러 해당 스포츠 토토이 있으면 다음과 같이 결합됩니다.

표현제한 선택/모든 스포츠 토토 1표현제한 선택/모든 스포츠 토토 2표현허용 선택/모든 스포츠 토토 1표현허용 선택/모든 스포츠 토토 2표현제한적 업데이트/모든 스포츠 토토 1표현제한적 업데이트/모든 스포츠 토토 2표현허용 업데이트/모든 스포츠 토토 1표현허용 업데이트/모든 스포츠 토토 2

노트

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

스포츠 토토은 데이터베이스의 테이블에 대한 명시 적 쿼리에 적용되지만 시스템이 내부 참조 무결성 검사를 수행하거나 제약 조건을 유효성을 수행 할 때는 적용되지 않습니다. 이것은 주어진 값이 존재한다고 결정하는 간접적 인 방법이 있음을 의미합니다.

일반적으로 시스템은 사용자 쿼리에 나타나는 자격을 갖춘 보안 스포츠 토토을 사용하여 부과 된 필터 조건을 시행하여 보호 된 데이터를 사용자 정의 기능에 부적절하게 노출하지 못하는 사용자 정의 기능에 대한 신뢰할 수없는 기능을 시행합니다. 그러나 시스템 (또는 시스템 관리자)에 의해 표시된 기능 및 운영자는LeakProof스포츠 토토 표현 전에 평가 될 수 있습니다.

스포츠 토토 표현이 사용자의 쿼리에 직접 추가되므로 전체 쿼리를 실행하는 사용자의 권한으로 실행됩니다. 따라서 주어진 스포츠 토토을 사용하는 사용자는 표현식에서 참조 된 테이블 또는 기능에 액세스 할 수 있어야합니다. 그렇지 않으면 행 수준 보안을 활성화 한 테이블을 쿼리하려고 시도 할 때 단순히 허가 거부 오류를 받게됩니다.Security_Invoker옵션 (참조보기 만들기).

별도의 스포츠 토토이 없습니다병합. 대신, 정의 된 스포츠 토토은select, 삽입, 업데이트삭제실행 중에 적용됩니다병합, 수행되는 동작에 따라

추가 토론 및 실제 사례는 찾을 수 있습니다섹션 5.8.

호환성

스포츠 토토 작성isPostgreSQL확장.

정정 제출

올바르지 않은 문서에 아무것도 표시되면 일치하지 않습니다.이 양식문서 문제를보고하려면