토토 사이트 추천 생성 [ 또는 교체 ]이름 ( [ argtype[, ...] ] )
    반품재입력AS '정의'
    언어언어명[ 와 (속성[, ...] ) ]
생성 [ 또는 교체 ] 토토 사이트 추천이름 ( [ argtype[, ...] ] )
    반품재입력AS 'obj_file', 'link_symbol'
    언어언어명[ 와 (속성 [, ...] ) ]
함수 생성새 기능을 정의합니다.함수 생성 또는 교체둘 중 하나입니다 새 함수를 만들거나 기존 정의를 바꾸세요.
매개변수
생성할 함수의 이름. 이름은 그럴 필요는 없다. 함수가 오버로드될 수 있기 때문에 고유하지만 함수는 동일한 이름을 가진 인수 유형은 서로 달라야 합니다.
함수 인수의 데이터 유형(있는 경우). 입력 유형은 기본 유형 또는 복합 유형일 수 있습니다.불투명또는 기존 열입니다.불투명표시 함수는 다음과 같은 비SQL 유형의 인수를 허용합니다. 와 같이문자 *. 열의 유형은 다음과 같습니다. 다음을 사용하여 표시됨테이블 이름.열 이름%TYPE; 이것을 사용하면 때로는 정의의 변경과 독립적으로 기능합니다. 테이블.
반환 데이터 유형. 출력 유형을 지정할 수 있습니다. 기본 유형, 복합 유형으로,setof유형,불투명, 또는 기존 열의 유형과 동일합니다.setof수정자는 다음을 나타냅니다. 함수는 단일 항목이 아닌 일련의 항목을 반환합니다. 아이템. 선언된 반환 유형이 있는 함수불투명값을 반환하지 않습니다. 이들은 할 수 없습니다 직접 전화를 받다; 트리거 토토 사이트 추천은 이를 활용합니다. 특징.
함수를 정의하는 문자열; 의미는 다음에 달려있다 언어. 내부 함수 이름, 경로일 수 있습니다. 객체 파일, SQL 쿼리 또는 절차의 텍스트 언어.
이 형식은AS절은 동적으로 연결된 C 언어 함수에 사용됩니다. C 언어 소스 코드의 함수 이름이 동일하지 않습니다. SQL 함수의 이름으로. 문자열obj_file파일 이름입니다 동적으로 로드 가능한 객체를 포함하고, 그리고link_symbol객체의 링크입니다 기호, 즉 C 언어의 함수 이름 소스 코드.
아마도SQL, C, 내부또는plname, 여기서plname생성된 이름입니다. 절차적 언어. 참조언어 생성15001_15103
함수에 대한 선택적 정보입니다. 최적화에 사용됩니다. 자세한 내용은 아래를 참조하세요.
함수를 생성한 사용자는 다음의 소유자가 됩니다. 기능.
다음 속성은 WITH 절에 나타날 수 있습니다:
이용 가능다음을 나타냅니다.
        함수는 주어진 경우 항상 동일한 결과를 반환합니다.
        동일한 인수 값(즉, 데이터베이스 조회를 수행하지 않음)
        또는 그 밖에 직접적으로 존재하지 않는 정보를 사용합니다.
        매개변수 목록). 최적화 프로그램은캐시 가능그것이 안전한지 알기 위해
        함수 호출을 사전 평가합니다.
엄격함은 다음을 나타냅니다.
        함수는 인수가 하나라도 있을 때마다 항상 NULL을 반환합니다.
        NULL입니다. 이 속성이 지정되면 함수는 다음과 같습니다.
        NULL 인수가 있으면 실행되지 않습니다. 대신 NULL
        결과는 자동으로 가정됩니다. 언제엄격함지정되지 않았습니다. 함수
        NULL 입력에 대해 호출됩니다. 그러면 그 토토 사이트 추천은
        필요한 경우 NULL을 확인하는 것은 작성자의 책임입니다.
        적절하게 대응하세요.
다음 장을 참조하세요.포스트그레SQL 프로그래머 가이드확장 주제에 대해PostgreSQL추가 기능을 통해 외부 함수 작성에 대한 정보입니다.
전체SQL유형 구문은 다음과 같습니다. 입력 인수 및 반환 값에 허용됩니다. 그러나 일부 유형 사양의 세부정보(예: 정밀도 필드)숫자유형)의 책임은 다음과 같습니다. 기본 함수 구현을 자동으로 삼켜집니다. (즉, 인식되거나 시행되지 않음)함수 생성명령.
PostgreSQL토토 사이트 추천 허용오버로딩; 즉, 같은 이름이 될 수 있습니다. 여러 다른 기능을 가지고 있는 한 사용할 수 있습니다. 인수 유형이 다릅니다. 이 시설은 주의해서 사용해야 합니다 그러나 내부 및 C 언어 기능의 경우.
두내부함수는 다음을 가질 수 없습니다 링크 시 오류를 일으키지 않고 동일한 C 이름을 사용합니다. 얻으려면 그 주위에 다른 C 이름을 지정하십시오(예를 들어 C 이름의 일부로 인수 유형) 그런 다음 해당 이름을 지정하십시오. AS 절에서함수 생성. 만약에 AS 절이 비어 있는 경우만들기 토토 사이트 추천함수의 C 이름이 다음과 같다고 가정합니다. SQL 이름입니다.
마찬가지로, 여러 개의 SQL 함수 이름을 오버로드할 때 C 언어 함수는 각 C 언어 인스턴스에 고유한 이름을 사용한 다음 대체 형식을 사용합니다.AS절만들기 토토 사이트 추천적절한 C 언어를 선택하는 구문 오버로드된 각 SQL 함수를 구현합니다.
반복되는 경우함수 생성호출 동일한 객체 파일을 참조하면 파일은 한 번만 로드됩니다. 받는 사람 파일을 언로드하고 다시 로드하고(아마도 개발 중에), 다음을 사용하세요.로드명령.
사용드롭 토토 사이트 추천제거하다 사용자 정의 함수.
기존 함수의 정의를 업데이트하려면 다음을 사용하세요.함수 생성 또는 교체. 참고하세요 이름이나 인수 유형을 변경할 수 없습니다. 이 방식으로 작동합니다. (시도했다면 새로운 고유한 기능). 또한,생성 또는 교체 기능귀하의 반환 유형을 변경할 수 없습니다. 기존 기능. 그렇게 하려면 다음을 삭제하고 다시 생성해야 합니다. 기능.
함수를 삭제한 후 다시 생성하면 새 함수는 예전과 같은 실체가 아닙니다. 기존 규칙을 깨뜨리게 됩니다. 이전 함수를 참조한 뷰, 트리거 등. 사용함수 생성 또는 교체변경하려면 참조하는 객체를 중단하지 않고 함수 정의 기능.
간단한 SQL 함수를 생성하려면:
CREATE FUNCTION one() 정수를 반환합니다.
    AS '결과로 1 선택;'
    언어 SQL;
답변으로 one()을 선택하세요.답변 
--------
      1
  다음 예에서는 루틴을 호출하여 C 함수를 생성합니다. 사용자가 만든 공유 라이브러리에서funcs.so(확장자는 지역에 따라 다를 수 있습니다. 플랫폼). 공유 라이브러리 파일은 서버의 동적 라이브러리 검색 경로. 이 특정 루틴은 숫자를 확인하고 함수의 숫자가 확인되면 TRUE를 반환합니다. 매개변수가 정확합니다. CHECK에 사용하기 위한 것입니다. 제약.
CREATE FUNCTION ean_checkdigit(char, char) RETURNS 부울
    AS '펑크' 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를 반환;