DO — 익명 코드 블록 실행
DO [ 언어lang_name]코드
DO익명 코드 블록, 즉 절차적 언어의 임시 익명 함수를 실행합니다.
코드 블록은 매개변수가 없는 함수의 본문인 것처럼 처리되어 다음을 반환합니다.공허. 한 번만 구문 분석되고 실행됩니다.
선택사항언어절은 코드 블록 앞이나 뒤에 쓸 수 있습니다.
코드실행될 절차적 언어 코드입니다. 이는 다음과 같이 문자열 리터럴로 지정되어야 합니다.함수 생성. 달러로 묶인 리터럴을 사용하는 것이 좋습니다.
lang_name코드가 작성된 절차적 언어의 이름. 생략할 경우 기본값은plpgsql.
사용할 절차적 언어는 다음을 통해 현재 데이터베이스에 이미 설치되어 있어야 합니다.언어 생성. plpgsql기본적으로 설치되지만 다른 언어는 설치되지 않습니다.
사용자는 다음을 가지고 있어야 합니다.사용절차적 언어에 대한 권한입니다. 또는 언어를 신뢰할 수 없는 경우 수퍼유저여야 합니다. 이는 언어로 함수를 생성할 때와 동일한 권한 요구 사항입니다.
스키마의 모든 보기에 대한 모든 권한 부여공개역할로웹사용자:
DO $$DECLARE r 기록;
시작
    FOR r IN SELECT table_schema, table_name FROM information_schema.tables
             WHERE table_type = 'VIEW' AND table_schema = 'public'
    루프
        '모두 부여' 실행 || quote_ident(r.table_schema) || '.' || quote_ident(r.table_name) || '웹사용자에게';
    엔드 루프;
종료$$;없습니다DOSQL 표준의 문입니다.