스포츠 토토 사이트 만들기 - 새 절차 정의
생성 [또는 교체] 프로 시저이름
([[argmode
] [argname
]Argtype
[기본값 | =default_expr
] [, ...]])) 언어lang_name
| type 변환type_name
[, ...] | [외부] 보안 개요 | [외부] 보안 정의기 | 세트configuration_parameter
tovalue
| =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
. 기본값은SQL
ifSQL_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 구현과 더 호환됩니다.
절차 생성 insert_data (정수, B 정수) 언어 SQL $$로 TBL 값 (a)에 삽입; tbl 값 (b)에 삽입; $$;
또는
프로 시저 생성 insert_data (정수, B 정수) 언어 SQL 원자를 시작하십시오 TBL 값 (a)에 삽입; tbl 값 (b)에 삽입; 끝;
다음과 같이 전화하십시오 :
CALL INSERT_DATA (1, 2);
a스포츠 토토 사이트 만들기
명령은 SQL 표준에 정의되어 있습니다. 그만큼PostgreSQL구현은 호환 가능한 방식으로 사용할 수 있지만 많은 확장 기능이 있습니다. 자세한 내용은 참조하십시오함수 만들기.