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

무지개 토토 만들기

무지개 토토 만들기 - 새 절차 정의

시놉시스

생성 [또는 교체] 프로 시저이름([[Argmode] [argname ] Argtype[기본값default_expr] [, ...]]))lang_nametype_name[, ...]configuration_parametertovalue | = value정의'OBJ_FILE','link_symbol'   ...

설명

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

스키마 이름이 포함 된 경우 지정된 스키마에서 프로 시저가 생성됩니다. 그렇지 않으면 현재 스키마에서 생성됩니다.과부하).

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

언제프로 시저 생성 또는 교체기존 무지개 토토를 대체하는 데 사용되며 무지개 토토의 소유권과 권한은 변경되지 않습니다. 다른 모든 무지개 토토 속성에는 명령에 지정된 값이 할당됩니다.

무지개 토토를 생성하는 사용자는 무지개 토토의 소유자가됩니다.

무지개 토토를 만들 수 있으려면usage인수 유형에 대한 특권.

참조섹션 38.4서면 무지개 토토에 대한 자세한 내용은

매개 변수

이름

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

Argmode

인수의 모드 :in, inout또는variadic. 생략하면 기본값은입니다.in. (out현재 절차에 대한 인수는 지원되지 않습니다. 사용inout대신.)

argname

인수의 이름.

Argtype

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

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

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

default_expr

매개 변수가 지정되지 않은 경우 기본값으로 사용할 표현식. 표현은 매개 변수의 인수 유형에 강요되어야합니다.

lang_name

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

변환 for typetype_name[, ...]

호출을 절차로 변환하는 목록이 적용되어야합니다. 변환 SQL 유형과 언어 별 데이터 유형으로 변환;변환 생성. 무지개 토토 적 언어 구현에는 일반적으로 내장 유형에 대한 하드 코드 지식이 있으므로 여기에 나열 될 필요가 없습니다.

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

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

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

A Security Definer무지개 토토는 트랜잭션 제어 문을 실행할 수 없습니다 (예 :커밋and롤백, 언어에 따라).

configuration_parameter
value

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

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

if aset조항은 절차에 첨부 된 다음 해당 무지개 토토는 트랜잭션 제어 문을 실행할 수 없습니다 (예 :커밋and롤백, 언어에 따라).

참조setand19 장허용 매개 변수 이름 및 값에 대한 자세한 내용은

정의

절차를 정의하는 문자열 상수; 의미는 언어에 따라 다릅니다.

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

OBJ_FILE, link_symbol

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

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

노트

참조함수 만들기무지개 토토에도 적용되는 기능 생성에 대한 자세한 내용은

use무지개 토토를 실행하려면

절차 생성 insert_data (정수, B 정수)언어 SQL

호환성

A 무지개 토토 만들기명령은 SQL 표준에 정의됩니다. 그만큼PostgreSQL버전은 유사하지만 완전히 호환되지는 않습니다. 자세한 내용은 참조하십시오함수 만들기.