함수 만들기이름([ftype[, ...]]) 보고rtypeas정의언어 'la토토 사이트 추천name' [ 와 함께 (속성[, ...])] 토토 사이트 추천 만들기이름([ftype[, ...]]) 보고rtypeasOBJ_FILE , link_symbol언어 'la토토 사이트 추천name' [ 와 함께 (속성[, ...])
생성 할 함수의 이름.
함수 인수의 데이터 유형이있는 경우. 입력 유형은 기본 또는 복잡한 유형 일 수 있습니다.opaque. opaque함수가 수락 함을 나타냅니다 와 같은 비 SQL 유형의 인수char *.
반환 데이터 유형. 출력 유형이 지정 될 수 있습니다 기본 유형으로, 복잡한 유형setof 유형또는opaque. 그만큼setof수정자는 함수는 단일이 아닌 일련의 항목을 반환합니다. 목.
함수에 대한 선택적인 정보, 최적화에 사용됩니다. 자세한 내용은 아래를 참조하십시오.
함수를 정의하는 문자열; 의미는 다음과 같습니다 언어. 내부 기능 이름 일 수 있습니다 객체 파일, SQL 쿼리 또는 텍스트로가는 경로 절차 언어.
이 형태의as절은입니다 동적으로 연결된 C 언어 기능에 사용됩니다 C 언어 소스 코드의 함수 이름은 SQL 함수의 이름과 동일합니다. 문자열OBJ_FILE이름입니다 동적으로로드 가능한 객체를 포함하는 파일 및link_symbolis Object의 링크 기호, 즉 함수의 이름입니다. C 언어 소스 코드.
'SQL','C','내부', 또는 'plname', 여기 'plname' a의 이름입니다 절차 언어를 만들었습니다. 보다언어 생성세부.
함수 만들기허용 aPostgres토토 사이트 추천을 등록 할 수 있습니다 데이터베이스. 그 후,이 사용자는 소유자로 간주됩니다 함수.
다음 항목이 with 절에 나타날 수 있습니다 :
iscachable토토 사이트 추천이 주어지면 항상 동일한 결과를 반환합니다 동일한 인수 값 (즉, 데이터베이스를 수행하지 않습니다 조회하거나 직접 존재하지 않는 정보를 사용합니다 매개 변수 목록에서). Optimizer 사용iscachable안전한 지 여부를 알 수 있습니다 토토 사이트 추천의 호출을 사전 평가하십시오.
isstrict기능은 항상 그 일 때마다 null을 반환합니다 논쟁은 무효입니다. 이 속성이 지정된 경우 널 인수가있을 때 기능은 실행되지 않습니다. 대신 널 결과가 자동으로 가정됩니다. 언제isstrict지정되지 않았습니다 널 입력에 대한 기능이 호출됩니다. 그때는입니다 NULLS를 확인하는 기능 저자의 책임 필요하고 적절하게 대응합니다.
의 장을 참조하십시오PostgreSQL 프로그래머 가이드확장 주제Postgres추가 토토 사이트 추천을 통해 외부 토토 사이트 추천 작성에 관한 정보.
use드롭 함수제거하려면 사용자 정의 기능.
전체SQL92Type Syntax IS 입력 인수 및 반환 값을 허용합니다. 그러나 일부 유형 사양의 세부 사항 (예 : 정밀 필드 을 위한숫자types)는 책임입니다 기본 기능 구현의 경우 조용히 있습니다 삼키는 (즉, 인식 또는 시행되지 않음)함수 생성명령.
Postgres기능을 허용합니다 "과부하"; 즉, 동일한 이름이 여러에 사용될 수 있습니다. 뚜렷한 주장이있는 한 다른 기능 유형. 이 시설은 내부와 그러나 c-language functions.
2내부기능은 가질 수 없습니다 링크 시간에 오류가 발생하지 않고 동일한 C 이름입니다. 얻기 위해 그 주위에 다른 C 이름을 제공하십시오 (예 : 사용하십시오. C 이름의 일부로 인수 유형). as의 as의 이름생성 기능. AS 절이 비어 있으면함수 생성의 C 이름을 가정합니다 함수는 SQL 이름과 동일합니다.
마찬가지로, 다중으로 SQL 기능 이름을 과부하시킬 때 c- 언어 함수, 각각의 c- 언어 인스턴스를 제공한다 뚜렷한 이름을 기능하고 대체 형태의를 사용하십시오.as절의 조항함수 생성구문을 선택하려면 구문 각 과부하 된 SQL 기능의 C- 언어 구현.
간단한 SQL 기능을 만들려면 :
함수 생성 one () int4를 반환합니다 '결과로 1 선택'으로 언어 'SQL'; 답변으로 하나를 선택하십시오;답변 -------- 1
이 예제는 사용자 제작 공유 라이브러리. 이 특정한 일상적인 a 함수의 체크 숫자가있는 경우 숫자를 확인하고 true를 반환합니다. 매개 변수가 정확합니다. 수표에 사용하기위한 것입니다 기부금.
함수 생성 EAN_CHECKDIGIT (BPCHAR, BPCHAR)는 부울을 반환합니다 '/usr1/proj/bray/sql/funcs.so'language 'c'; 테이블 제품 생성 ( ID char (8) 기본 키, eanprefix char (8) check (eanprefix ~ '[0-9] 2-[0-9] 5') 참조 Brandname (ean_prefix), eancode char (6) check (eancode ~ '[0-9] 6'), 제약 ean check (ean_checkdigit (eanprefix, eancode))) );
이 예제는 변환을 유형하는 함수를 만듭니다 사용자 정의 유형 단지와 내부 유형 사이 가리키다. 이 기능은 동적으로로드 된 객체에 의해 구현됩니다 그것은 C 소스에서 컴파일되었습니다. 을 위한Postgres유형 변환 함수를 찾으려면 자동으로 SQL 함수는 반환 유형이므로 과부하는 피할 수 없습니다. 함수 이름 두 번째 형태의를 사용하여 과부하됩니다.asSQL 정의의 조항 :
함수 포인트 생성 (복잡한)은 포인트를 반환합니다 '/home/bernie/pgsql/lib/complex.so', 'complex_to_point'로 언어 'C';
함수의 C 선언은 다음과 같습니다.
포인트 * complex_to_point (complex * z) 지점 *p; p = (점 *) palloc (sizeof (point)); p- x = z- x; p- y = z- y; 반환 p;