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

만들기 토토 사이트 추천

이름

CREATE FUNCTION  --  새로운 토토 사이트 추천을 정의합니다. 토토 사이트 추천

시놉시스

함수 생성이름 ( [ ftype[, ...] ] )
    보고r유형AS정의언어 '언어명'
    [ 와 함께 (속성[, ...] ) ]
함수 생성이름 ( [ ftype[, ...] ] )
    보고r유형ASobj_file , link_symbol언어 '언어명'
    [ 와 함께 (속성 [, ...] ) ]

입력

이름

생성할 함수의 이름.

ftype

함수 인수의 데이터 유형(있는 경우). 입력 유형은 기본 유형 또는 복합 유형일 수 있습니다. 또는불투명. 불투명함수가 수락함을 나타냅니다. 다음과 같은 비SQL 유형의 인수문자 *.

r유형

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

속성

함수에 관한 선택적 정보입니다. 최적화에 사용됩니다. 자세한 내용은 아래를 참조하세요.

정의

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

obj_file , link_symbol

이 형태의AS절은 동적으로 연결된 C 언어 함수에 사용됩니다. C 언어 소스 코드의 함수 이름은 다음과 같습니다. SQL 함수 이름과 동일합니다. 문자열obj_file이름은 동적으로 로드 가능한 객체가 포함된 파일 및link_symbol이것은 객체의 링크 기호, 즉 객체의 함수 이름입니다. C 언어 소스 코드.

언어명

아마도 'sql', 'C', '내부', 또는 'plname', 여기서 'plname' 의 이름이다 절차적 언어를 만들었습니다. 보다언어 생성용 세부.

출력

생성

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

설명

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

함수 속성

다음 항목은 WITH 절에 나타날 수 있습니다:

캐시 가능

이용 가능다음을 나타냅니다. 함수는 주어진 경우 항상 동일한 결과를 반환합니다. 동일한 인수 값(즉, 데이터베이스를 수행하지 않음) 직접적으로 존재하지 않는 정보를 조회하거나 다른 방식으로 사용 매개변수 목록에서). 최적화 프로그램은캐시 가능그것이 안전한지 알기 위해 함수 호출을 사전 평가합니다.

엄격함

엄격함다음을 나타냅니다. 함수는 다음 중 하나가 발생할 때마다 항상 NULL을 반환합니다. 인수가 NULL입니다. 이 속성이 지정되면 NULL 인수가 있으면 함수가 실행되지 않습니다. 대신 NULL 결과가 자동으로 가정됩니다. 언제엄격함지정되지 않았습니다. NULL 입력에 대해 함수가 호출됩니다. 그 다음은 다음과 같은 경우 NULL을 확인하는 것은 함수 작성자의 책임입니다. 필요하고 적절하게 대응하세요.

참고

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

사용드롭 토토 사이트 추천제거하다 사용자 정의 함수.

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

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

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

마찬가지로, SQL 함수 이름을 여러 개로 오버로드할 때 C 언어 함수는 각 C 언어 인스턴스에 고유한 이름을 사용한 다음 대체 형식을 사용합니다.AS함수 생성적절한 선택을 위한 구문 오버로드된 각 SQL 함수의 C 언어 구현입니다.

사용법

간단한 SQL 함수를 생성하려면:

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

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

CREATE FUNCTION ean_checkdigit(bpchar, bpchar) RETURNS 부울
    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은 영구 저장 모듈을 의미합니다. 절차적 언어이다. SQL/PSM은 기능 확장성을 활성화합니다.

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