이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 토토 베이 만들기버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

사설 토토 사이트 생성

이름

CREATE FUNCTION — 새로운 사설 토토 사이트를 정의합니다.
사설 토토 사이트 생성이름 ( [ ftype[, ...] ] )
    보고r유형AS정의언어 '언어명'
    [ 와 함께 (속성[, ...] ) ]
사설 토토 사이트 생성이름 ( [ ftype[, ...] ] )
    보고r유형ASobj_file , link_symbol언어 'C'
    [ 와 함께 (속성 [, ...] ) ]

입력

이름

생성할 함수의 이름.

ftype

함수 인수의 데이터 유형. 입력 유형은 다음과 같습니다. 기본 또는 복합 유형이어야 합니다. 또는불투명. 불투명함수가 유효하지 않은 인수를 받아들인다는 것을 나타냅니다. 다음과 같은 유형을 입력하세요.문자 *.

r유형

반환 데이터 유형. 출력 유형을 지정할 수 있습니다. 기본 유형, 복합 유형으로,setof유형또는불투명. 그만큼setof수정자는 함수가 다음 세트를 반환함을 나타냅니다. 단일 항목이 아닌 항목입니다.

속성

함수에 관한 선택적 정보입니다. 최적화에 사용됩니다. 현재 유일한 속성 지원되는 것은캐시 가능. 캐시 가능다음을 나타냅니다. 함수는 동일한 값이 주어지면 항상 동일한 결과를 반환합니다. 입력 값(즉, 데이터베이스 조회를 수행하지 않거나 그렇지 않으면 해당 문서에 직접적으로 존재하지 않는 정보를 사용하십시오. 매개변수 목록). 최적화 프로그램은캐시 가능그것이 안전한지 알기 위해 사설 토토 사이트 호출을 사전 평가합니다.

정의

함수를 정의하는 문자열; 의미는 다음에 달려있다 언어. 내부 함수 이름, 경로일 수 있습니다. 객체 파일, SQL 쿼리 또는 절차의 텍스트 언어.

obj_file , link_symbol

이 형태의AS절은 동적으로 연결된 C 언어 함수에 사용됩니다. C 언어 소스 코드의 함수 이름이 동일하지 않습니다. SQL 함수의 이름으로. 문자열obj_file파일 이름입니다 동적으로 로드 가능한 객체를 포함하고, 그리고link_symbol은 개체의 링크입니다. 기호는 함수 이름과 동일합니다. C 언어 소스 코드입니다.

언어명

아마도 'C', 'sql', '내부' 또는 'plname', 여기서 'plname' 생성된 이름입니다 절차적 언어. 보다만들기 언어자세한 내용은.

출력

만들기

명령이 완료되면 반환됩니다. 성공적으로.

설명

사설 토토 사이트 생성허용포스트그레사용자가 함수를 등록하려면 데이터 베이스. 이후에 이 사용자는 다음의 소유자로 간주됩니다. 기능.

참고

다음 장을 참조하세요.PostgreSQL 프로그래머 가이드확장 주제에 대해포스트그레스추가 기능을 통해 외부 함수 작성에 대한 정보입니다.

사용드롭 기능제거하다 사용자 정의 함수.

포스트그레기능 허용 "과부하"; 즉, 동일한 이름을 여러 이름에 사용할 수 있습니다. 서로 다른 인수가 있는 한 다른 함수 유형. 이 기능은 주의해서 사용해야 합니다.내부그러나 C 언어 사설 토토 사이트는 제외됩니다.

전체SQL92유형 구문은 다음과 같습니다. 입력 인수 및 반환 값에 허용됩니다. 그러나 일부 유형 사양의 세부정보(예: 정밀도 필드)숫자유형)이 책임입니다. 기본 함수 구현에 대해 자동으로 설명합니다. 에 의해 삼켜졌습니다(예: 인식되거나 시행되지 않음).사설 토토 사이트 생성명령.

2내부함수는 가질 수 없습니다 링크 시 오류를 일으키지 않고 동일한 C 이름을 사용합니다. 얻으려면 그 주위에 다른 C 이름을 지정하십시오(예를 들어 인수 유형을 C 이름의 일부로 지정) 의 AS 절에 있는 이름만들기 기능. AS 절이 비어 있는 경우사설 토토 사이트 생성C 이름을 가정합니다. 함수는 SQL 이름과 동일합니다.

C 언어 함수로 SQL 함수를 오버로드할 때, 함수의 각 C 언어 인스턴스에 고유한 이름을 지정합니다. 그리고 대체 형식을 사용하십시오.AS절의사설 토토 사이트 생성구문 오버로드된 SQL 함수 이름이 동적으로 연결된 개체를 수정합니다.

C 사설 토토 사이트는 값 세트를 반환할 수 없습니다.

사용법

간단한 SQL 사설 토토 사이트를 생성하려면:

함수 만들기 one() 반환 int4
    AS '결과로 1 선택'
    언어 'sql';
답변으로 one()을 선택하세요.답변 
--------
      1

이 예는 다음에서 루틴을 호출하여 C 함수를 생성합니다. 사용자가 만든 공유 라이브러리. 이 특정 루틴은 숫자를 확인하고 함수의 숫자가 확인되면 TRUE를 반환합니다. 매개변수가 정확합니다. CHECK에 사용하기 위한 것입니다. 금기 사항.

사설 토토 사이트 생성 ean_checkdigit(bpchar, bpchar) RETURNS bool
    AS '/usr1/proj/bray/sql/funcs.so' LANGUAGE 'c';

CREATE TABLE 제품(
    ID 문자(8) 기본 키,
    eanprefix char(8) CHECK (eanprefix ~ '[0-9]2-[0-9]5')
                      참고사항 브랜드명(ean_prefix),
    eancode char(6) CHECK (eancode ~ '[0-9]6'),
    CONSTRAINT ean CHECK (ean_checkdigit(eanprefix, eancode))
);

이 예는 유형 변환을 수행하는 함수를 생성합니다 사용자 정의 유형 콤플렉스와 내부 유형 사이 가리키다. 함수는 동적으로 로드된 객체에 의해 구현됩니다. C 소스에서 컴파일되었습니다. 을 위한포스트그레스유형 변환 함수를 찾으려면 자동으로 sql 함수의 이름은 sql 함수의 이름과 동일해야 합니다. 반환 유형이며 오버로드가 불가피합니다. 함수 이름은 의 두 번째 형식을 사용하여 오버로드됨ASSQL 정의의 절

CREATE FUNCTION 포인트(복합) RETURNS 포인트
    AS '/home/bernie/pgsql/lib/complex.so', 'complex_to_point'
    언어 'c';

함수의 C 데칼화는 다음과 같습니다:

포인트 * complex_to_point (복합 *z)

        포인트 *p;

        p = (점 *) palloc(sizeof(점));
        p-x = z-x;
        p-y = z-y;

        p를 반환;

호환성

SQL92

사설 토토 사이트 생성포스트그레스언어 확장.

SQL/PSM

참고:PSM은 영구 저장 모듈을 의미합니다. 그것 절차적 언어이며 원래는 PSM이 1996년 말까지 공식 표준으로 비준될 예정입니다. 1998년 중반에는 아직 이런 일이 발생하지 않았지만 PSM이 결국 표준이 될 것입니다.

SQL/PSM사설 토토 사이트 생성있음 다음 구문:
사설 토토 사이트 생성이름( [ [ IN | OUT | INOUT ]유형[, ...] ] )
     보고r유형언어 '언어명'
     특정루틴
     SQL문