이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다토토 핫 PostgreSQL : 문서 : 17 : 프로 시저 작성버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

스포츠 토토 사이트 만들기

스포츠 토토 사이트 만들기 - 새 절차 정의

시놉시스

생성 [또는 교체] 프로 시저이름([[argmode] [argname]Argtype[기본값 | =default_expr] [, ...]]))
   언어lang_name| type 변환type_name[, ...]
    | [외부] 보안 개요 | [외부] 보안 정의기
    | 세트configuration_parametertovalue| =value| 현재
    | 처럼 '정의'
    | 처럼 'OBJ_FILE','link_symbol'
    |sql_body...

설명

스포츠 토토 사이트 만들기새 절차를 정의합니다.프로 시저 생성 또는 교체새 절차를 생성하거나 기존 정의를 대체합니다. 절차를 정의하려면 사용자는가 있어야합니다.usage언어에 대한 특권.

스키마 이름이 포함 된 경우 지정된 스키마에서 프로 시저가 생성됩니다. 그렇지 않으면 현재 스키마에서 생성됩니다. 새 절차의 이름은 기존 절차 나 함수와 동일한 스키마에서 동일한 입력 인수 유형과 일치하지 않아야합니다. 그러나 다른 인수 유형의 절차와 기능은 이름을 공유 할 수 있습니다 (이것은입니다.과부하).

기존 절차의 현재 정의를 대체하려면 사용프로 시저 생성 또는 교체. 이런 식으로 절차의 이름이나 인수 유형을 변경할 수 없습니다 (시도한 경우 실제로 새롭고 별개의 절차를 만들 것입니다).

언제프로 시저 생성 또는 교체기존 절차를 대체하는 데 사용되며 절차의 소유권과 권한은 변경되지 않습니다. 다른 모든 절차 속성에는 명령에 지정된 값이 할당됩니다. 이를 대체 할 절차를 소유해야합니다 (여기에는 소유 역할의 구성원이 포함됩니다).

스포츠 토토 사이트를 생성하는 사용자는 스포츠 토토 사이트의 소유자가됩니다.

스포츠 토토 사이트를 만들 수 있으려면usage인수 유형에 대한 특권.

참조PostgreSQL : 문서 : 개발 : 36.4. 사용자 정의 배트맨 토토쓰기 스포츠 토토 사이트에 대한 자세한 내용.

매개 변수

이름

생성 절차의 이름 (선택적으로 스키마 자격).

argmode

인수의 모드 :in, out, inout, 또는variadic. 생략하면 기본값은입니다.in.

argname

인수의 이름.

Argtype

프로 시저의 인수 (선택적으로 스키마 자격이있는)의 데이터 유형 (S). 인수 유형은 기본, 복합 또는 도메인 유형 일 수 있거나 테이블 열의 유형을 참조 할 수 있습니다.

구현 언어에 따라 지정할 수도 있습니다Pseudo-types와 같은cstring. 의사 유형은 실제 인수 유형이 불완전하게 지정되거나 일반 SQL 데이터 유형 세트 외부에 있음을 나타냅니다.

열의 유형은 쓰기로 참조됩니다table_name.column_name%유형. 이 기능을 사용하면 때때로 표의 정의 변경과 독립적 인 절차를 수행하는 데 도움이됩니다.

default_expr

매개 변수가 지정되지 않은 경우 기본값으로 사용할 표현식. 표현은 매개 변수의 인수 유형에 강요되어야합니다. 기본값이있는 매개 변수를 따르는 모든 입력 매개 변수도 기본값이 있어야합니다.

lang_name

절차가 구현 된 언어의 이름.SQL, C, 내부또는 사용자 정의 절차 언어의 이름 (예 :PLPGSQL. 기본값은SQLifSQL_BIDE지정되어 있습니다. 단일 따옴표로 이름을 동봉하는 것은 더 이상 사용되지 않으며 일치하는 경우가 필요합니다.

변환 for typetype_name[, ...]

호출을 절차로 변환하는 목록이 적용되어야합니다. 변환 SQL 유형과 언어 별 데이터 유형으로 변환; 보다변환 생성. 스포츠 토토 사이트 적 언어 구현에는 일반적으로 내장 유형에 대한 하드 코드 지식이 있으므로 여기에 나열 될 필요가 없습니다. 스포츠 토토 사이트 적 언어 구현이 유형을 처리하는 방법을 모르고 변환이 제공되지 않으면 데이터 유형을 변환하기위한 기본 동작으로 돌아가지만 이는 구현에 따라 다릅니다..

[외부] Security Invoker
[외부] Security Definer

Security Invoker는 스포츠 토토 사이트를 사용자의 권한으로 호출해야 함을 나타냅니다. 그것은 기본입니다.Security Definer이를 소유 한 사용자의 권한으로 스포츠 토토 사이트를 실행해야한다고 지정합니다.

키워드외부는 SQL 준수를 허용하지만 SQL과 달리 모든 절차뿐만 아니라 모든 절차에 적용되기 때문에 선택 사항입니다..

aSecurity Definer스포츠 토토 사이트는 트랜잭션 제어 문을 실행할 수 없습니다 (예 :커밋and롤백, 언어에 따라).

configuration_parameter
value

theSET절 항목은 프로 시저를 입력 할 때 지정된 구성 매개 변수를 지정된 값으로 설정 한 다음 프로 시저가 종료 될 때 이전 값으로 복원됩니다..현재에서 설정현재의 매개 변수 값을 저장합니다.스포츠 토토 사이트 만들기스포츠 토토 사이트가 입력 될 때 적용 할 값으로 실행됩니다.

if aSET조항은 절차에 첨부 된 다음 A의 효과로컬 설정동일한 변수에 대한 프로 시저 내부에서 실행 된 명령은 절차로 제한됩니다. 구성 매개 변수의 이전 값은 프로 시저 Exit에서 여전히 복원됩니다. 그러나 평범한SET명령 (Local)은를 무시합니다.SET조항, 이전과 마찬가지로로컬 설정명령 : 현재 트랜잭션이 롤백되지 않는 한 절차 종료 후에 그러한 명령의 효과가 지속됩니다.

aSET조항은 절차에 첨부되어 있으면 해당 스포츠 토토 사이트는 트랜잭션 제어 문을 실행할 수 없습니다 (예 :커밋롤백, 언어에 따라).

참조SETand범퍼카 토토 : 문서 : 개발 : 19 장 서버 구성허용 매개 변수 이름 및 값에 대한 자세한 내용은

정의

절차를 정의하는 문자열 상수; 의미는 언어에 따라 다릅니다. 내부 절차 이름, 객체 파일의 경로, SQL 명령 또는 절차 언어로 텍스트가 될 수 있습니다.

종종 달러 인용문을 사용하는 것이 도움이됩니다 (참조섹션 4.1.2.4) 일반 단일 인용문이 아닌 절차 정의 문자열을 작성합니다. 달러 인용이 없으면 절차 정의의 단일 따옴표 또는 백 슬래시를 두 배로 늘려서 피해야합니다.

OBJ_FILE, link_symbol

이 형태의as절은 C 언어 소스 코드의 프로 시저 이름이 SQL 프로 시저의 이름과 같지 않을 때 동적으로로드 가능한 C 언어 절차에 사용됩니다. 문자열OBJ_FILE편집 된 C 절차를 포함하는 공유 라이브러리 파일의 이름이며로드명령. 문자열link_symbol는 절차의 링크 기호, 즉 C 언어 소스 코드의 절차 이름입니다. 링크 기호가 생략되면 정의되는 SQL 프로 시저의 이름과 동일하다고 가정합니다.

반복 될 때스포츠 토토 사이트 만들기통화는 동일한 개체 파일을 참조하고 파일은 세션 당 한 번만로드됩니다. 파일을 언로드하고 다시로드하려면 (아마도 개발 중) 새 세션을 시작하십시오.

sql_body

a언어 SQL스포츠 토토 사이트. 이것은 블록이어야합니다

원자 시작성명서;성명서;
  ...성명서;
끝

이것은 절차 본문의 텍스트를 문자열 상수로 작성하는 것과 유사합니다 (참조정의위), 그러나 몇 가지 차이점이 있습니다.이 양식은에만 작동합니다.언어 SQL, 문자열 상수 양식은 모든 언어에 대해 작동합니다. 이 양식은 절차 정의 시간에 구문 분석되며 문자열 상수 양식은 실행 시간에 구문 분석됩니다. 따라서이 형식은 다형성 인수 유형 및 절차 정의 시간에서 해결할 수없는 다른 구성을 지원할 수 없습니다. 이 양식은 절차와 절차 본문에 사용 된 객체 사이의 종속성을 추적합니다.드롭 ... 캐스케이드는 올바르게 작동하지만 문자열 리터럴을 사용하는 양식은 매달려있는 절차를 남길 수 있습니다. 마지막 으로이 양식은 SQL 표준 및 기타 SQL 구현과 더 호환됩니다.

노트

참조함수 만들기스포츠 토토 사이트에도 적용되는 기능 생성에 대한 자세한 내용은

use스포츠 토토 사이트를 실행하려면

예제

절차 생성 insert_data (정수, B 정수)
언어 SQL
$$로
TBL 값 (a)에 삽입;
tbl 값 (b)에 삽입;
$$;

또는

프로 시저 생성 insert_data (정수, B 정수)
언어 SQL
원자를 시작하십시오
  TBL 값 (a)에 삽입;
  tbl 값 (b)에 삽입;
끝;

다음과 같이 전화하십시오 :

CALL INSERT_DATA (1, 2);

호환성

a스포츠 토토 사이트 만들기명령은 SQL 표준에 정의되어 있습니다. 그만큼PostgreSQL구현은 호환 가능한 방식으로 사용할 수 있지만 많은 확장 기능이 있습니다. 자세한 내용은 참조하십시오함수 만들기.