무지개 토토 만들기 - 새 절차 정의
생성 [또는 교체] 프로 시저이름
([[Argmode
] [argname
]Argtype
[기본값default_expr
] [, ...]]))lang_name
type_name
[, ...]configuration_parameter
tovalue
| =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롤백
, 언어에 따라).
정의
절차를 정의하는 문자열 상수; 의미는 언어에 따라 다릅니다.
종종 달러 견적을 사용하는 것이 도움이됩니다 (참조섹션 4.1.2.4) 일반 단일 인용문이 아닌 절차 정의 문자열을 작성합니다. 달러 인용이 없으면 절차 정의의 단일 따옴표 또는 백 슬래시를 두 배로 늘려서 피해야합니다.
OBJ_FILE
, link_symbol
이 형태의as
절은 C 언어 소스 코드의 절차 이름이 SQL 프로 시저의 이름과 같지 않을 때 동적으로로드 가능한 C 언어 절차에 사용됩니다. 문자열OBJ_FILE
로드명령. 문자열link_symbol
는 절차의 링크 기호, 즉 C 언어 소스 코드의 절차 이름입니다. 링크 기호가 생략되면 정의되는 SQL 프로 시저의 이름과 동일하다고 가정합니다.
반복 될 때무지개 토토 만들기
통화는 동일한 개체 파일을 참조하고 파일은 세션 당 한 번만로드됩니다. 파일을 언로드하고 다시로드하려면 (아마도 개발 중) 새 세션을 시작하십시오.
절차 생성 insert_data (정수, B 정수)언어 SQL
A 무지개 토토 만들기
명령은 SQL 표준에 정의됩니다. 그만큼PostgreSQL버전은 유사하지만 완전히 호환되지는 않습니다. 자세한 내용은 참조하십시오함수 만들기.