[또는 교체] 함수 만들기이름([Argtype[, ...]]) 보고rettypeas '정의' 언어langname[with (속성[, ...])] [또는 교체] 함수 만들기이름([Argtype[, ...]]) 보고rettypeas 'obj_file','link_symbol' 언어langname[with (속성[, ...])
함수 만들기새 기능을 정의합니다.함수 생성 또는 교체새 기능을 만들거나 기존 정의를 바꾸십시오.
매개 변수
생성 할 함수의 이름. 이름은 할 필요가 없습니다 기능은 과부하 될 수 있지만 기능은 고유합니다 동일한 이름의 인수 유형이 있어야합니다.
함수 인수의 데이터 유형이있는 경우. 입력 유형은 기본 또는 복잡한 유형 일 수 있습니다.opaque또는 an의 유형과 동일합니다 기존 열.opaque12442_12533char *. 열의 유형은 다음과 같습니다 사용 표시TableName.ColumnName%유형; 이것을 사용하면 때때로 a를 만드는 데 도움이 될 수 있습니다 변경에서 a의 정의로의 기능 테이블.
반환 데이터 유형. 출력 유형이 지정 될 수 있습니다 기본 유형으로, 복잡한 유형setof타입,opaque, 또는 기존 열의 유형과 동일합니다. 그만큼setof수정자는 함수는 단일이 아닌 일련의 항목을 반환합니다. 목. 선언 된 반환 유형의 토토 사이트 추천opaque값을 반환하지 마십시오. 이것들은 할 수 없습니다 직접 호출됩니다. 트리거 토토 사이트 추천이이를 사용합니다 특징.
함수를 정의하는 문자열; 의미는 다음과 같습니다 언어. 내부 기능 이름, 경로 일 수 있습니다 객체 파일, SQL 쿼리 또는 절차의 텍스트에 언어.
이 형태의as절은입니다 동적으로 연결된 C 언어 함수에 사용됩니다 C 언어 소스 코드의 함수 이름은 동일하지 않습니다. SQL 함수의 이름으로. 문자열OBJ_FILE는 파일의 이름입니다 동적으로로드 가능한 객체를 포함하고link_symbol객체의 링크입니다 기호, 즉 C 언어의 함수 이름 소스 코드.
SQL, C, 내부또는plname, 여기서plname생성 된 이름입니다 절차 언어. 보다언어 생성자세한 내용. 뒤로 호환성을 위해 이름은 다음과 같이 동봉 될 수 있습니다 단일 따옴표.
함수에 대한 선택적인 정보, 최적화에 사용됩니다. 자세한 내용은 아래를 참조하십시오.
함수를 생성하는 사용자는 토토 사이트 추천.
다음 속성이 with 절에 나타날 수 있습니다 :
iscachable
함수는 주어진 경우 항상 동일한 결과를 반환합니다.
동일한 인수 값 (즉, 데이터베이스 조회를 수행하지 않습니다.
또는 그렇지 않으면 정보가 직접 존재하지 않는 정보를 사용하십시오
매개 변수 목록). Optimizer 사용iscachable
그것이 안전한지 알기 위해
토토 사이트 추천의 호출을 사전 평가하십시오.
IsStrict
기능은 인수가있을 때마다 항상 null을 반환합니다
널입니다. 이 속성이 지정된 경우 함수는 다음과 같습니다
귀무인이있을 때 실행되지 않습니다. 대신 널
결과는 자동으로 가정됩니다. 언제isstrict
함수는 지정되지 않았습니다
NULL 입력을 요구합니다. 그런 다음 기능입니다
필요한 경우 널 확인 해야하는 저자의 책임
적절하게 응답합니다.
의 장을 참조하십시오PostgreSQL 프로그래머 가이드확장 주제PostgreSQL더 많은 토토 사이트 추천을 통해 외부 토토 사이트 추천 작성에 관한 정보.
전체SQLType Syntax IS 입력 인수 및 반환 값을 허용합니다. 그러나 일부 유형 사양의 세부 사항 (예 : 정밀 필드숫자type)은 책임입니다 기본 기능 구현 및 조용히 삼켜집니다 (즉, 인식 또는 시행되지 않음)함수 만들기명령.
PostgreSQL함수 허용과부하; 즉, 같은 이름이 할 수 있습니다 그들이 가지고있는 한 여러 가지 기능에 사용됩니다. 뚜렷한 인수 유형. 이 시설은주의해서 사용해야합니다 그러나 내부 및 C- 언어 기능의 경우.
2내부기능은 가질 수 없습니다 링크 시간에 오류가 발생하지 않고 동일한 C 이름입니다. 얻기 위해 그 주위에 다른 C 이름을 제공하십시오 (예 : 사용하십시오. C 이름의 일부로 인수 유형), 해당 이름을 지정합니다. as의 as에서함수 만들기. 만약에 As 절은 비어 있지 않으며생성 토토 사이트 추천함수의 C 이름이 다음과 동일하다고 가정합니다. SQL 이름.
마찬가지로, 다중으로 SQL 함수 이름을 과부하시킬 때 c- 언어 함수, 각각의 c- 언어 인스턴스를 제공한다 뚜렷한 이름을 기능하고 대체 형태의를 사용하십시오.as절의 조항생성 토토 사이트 추천구문을 선택하려면 적절한 c- 언어를 선택합니다 과부하 된 SQL 기능의 구현.
반복 될 때함수 만들기전화 동일한 개체 파일을 참조하면 파일은 한 번만로드됩니다. 에게 파일을 내리고 다시로드하고 (아마도 개발 중에) 사용로드명령.
use드롭 함수제거합니다 사용자 정의 기능.
기존 함수의 정의를 업데이트하려면 사용함수 생성 또는 교체. 그것을 주목하십시오 이름이나 인수 유형을 변경할 수 없습니다. 이런 식으로 기능합니다 (시도한 경우, 새로운 것을 만들 것입니다. 뚜렷한 기능). 또한,생성 또는 교체 기능반환 유형을 변경할 수 없습니다. 기존 토토 사이트 추천. 그렇게하려면 떨어 뜨리고 다시 창출해야합니다 토토 사이트 추천.
함수를 삭제 한 다음 다시 만들면 새로운 기능은 다음과 같습니다. 오래된 것과 같은 실체가 아닙니다. 기존 규칙을 위반하고 이전 기능을 지칭하는보기, 트리거 등. 사용함수 생성 또는 교체변경하려면 a 기능 정의는 기능.
간단한 SQL 기능을 만들려면 :
함수 생성 one ()은 정수를 반환합니다 '결과로 1을 선택하십시오.' 언어 SQL; 답변으로 하나를 선택하십시오;답변 -------- 1
다음 예제는 루틴을 호출하여 C 함수를 만듭니다. 사용자가 제작 한 공유 라이브러리에서funcs.so(확장은마다 다를 수 있습니다 플랫폼). 공유 라이브러리 파일은 서버에서 추구됩니다 동적 라이브러리 검색 경로. 이 특정한 일상적인 a 함수의 체크 숫자가있는 경우 숫자를 확인하고 true를 반환합니다. 매개 변수가 정확합니다. 수표에 사용하기위한 것입니다 강제.
토토 사이트 추천 작성 EAN_CHECKDIGIT (char, char)는 부울을 반환합니다 'funcs'언어 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 소스에서 컴파일되었습니다 (우리는 현재 모여있는 것을 설명합니다. 공유 객체에 정확한 PathName을 지정하는 대안 파일). 을 위한PostgreSQL찾으려면 a 유형 변환 기능 자동으로 SQL 기능이 있어야합니다 리턴 유형과 동일한 이름을 가지므로 과부하가 피하기 어려운. 함수 이름은 두 번째를 사용하여 과부하입니다 의 형태asSQL의 조항 정의:
함수 포인트 생성 (복잡한)은 포인트를 반환합니다 '/home/bernie/pgsql/lib/complex.so', 'complex_to_point'로 언어 C;
함수의 C 선언은 다음과 같습니다.
Point * Complex_To_Point (Complex * Z) 지점 *p; p = (점 *) palloc (sizeof (point)); p- x = z- x; p- y = z- y; 반환 p;