이 문서는 지원되지 않는 버전의 윈 토토 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다스포츠 토토 베트맨 PostgreSQL : 문서 : 17 : 41버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

39.3. 선언

블록에 사용 된 모든 변수는for루프for커서 위에 반복되는 루프

pl/pgsql변수가 가질 수 있습니다정수,Varcharchar.

변수 선언의 몇 가지 예는 다음과 같습니다.

user_id 정수;

변수 선언의 일반적인 구문은 다음과 같습니다.

이름[Constant]type[Collatecollation_name ] [NOT NULL] [기본값 | : =표현 ];

the기본값조항, 주어진 경우,기본값조항SQL널 값. 그만큼Constant옵션은 변수가 존재하는 것을 방지합니다Collate옵션을 사용할 수있는 콜레이션을 지정합니다섹션). 만약에NOT NULL지정되어 있습니다.NOT NULL

변수의 기본값이 평가되고 할당됩니다.now ()유형 변수타임 스탬프변수가 시간을 갖도록합니다

예 :

수량 정수 기본값 32;

39.3.1. 기능 선언

함수로 전달 된 매개 변수는$ 1,$ 2등. 선택적으로, 별명을 선언 할 수 있습니다$n가독성 향상에 대한 매개 변수 이름. 별칭 또는

별칭을 만드는 방법에는 두 가지가 있습니다. 선호하는 방법은기능 생성명령, 예 :

함수 생성 sales_tax (subtotal real)는 real을 $$로 반환합니다

다른 방법으로, 이전에 사용할 수있는 유일한 방법PostgreSQL8.0은 다음과 같습니다

이름alias for $n;

이 스타일의 동일한 예는 다음과 같습니다.

함수 생성 sales_tax (real)는 real을 $$로 반환합니다

참고 :이 두 예는 완벽하지 않습니다subtotalsales_tax.subtotal그러나 두 번째 경우subtotal자격을 갖추 수 있습니다

더 많은 예 :

기능 기기 만들기 (Varchar, Integer)는 정수를 $$로 반환합니다

언제pl/pgsql함수는입니다$nJust의 이름 및 선택적 별칭

함수 sales_tax (subtotal real, out tax real)를 $$로 만듭니다

우리가 생략됨에주의Retors Real- 우리는 그것을 포함시킬 수 있었지만 중복 될 것입니다.

출력 매개 변수는 다중 반환시 가장 유용합니다

함수 생성 Sum_n_Product (x int, y int, out sum int, out prod int) $$

에서 논의 된대로섹션 35.4.4,반환조항이 제공되며 말해야합니다반환.

선언하는 또 다른 방법pl/pgsql함수는반환 테이블, 예 :

함수 생성 extended_sales (p_itemno int)

이것은 하나 이상을 선언하는 것과 정확히 동일합니다out매개 변수 및 지정returns setofSOMENTYPE.

반환 유형의시기pl/pgsql함수는 a로 선언됩니다Anylement,AnyArray,AnynonArray,AnyEnum또는AnyRange), 특별 매개 변수$ 0생성됩니다. 데이터 유형은 실제입니다섹션). 이를 통해 기능이 실제 액세스 할 수 있습니다섹션.$ 0는 null로 초기화됩니다$ 0alias도 제공 할 수 있습니다. 을 위한+운영자 :

함수 생성 add_three_values ​​(v1 anylement, v2 anylement, v3 anylement)

하나 이상의 출력을 선언함으로써 동일한 효과를 얻을 수 있습니다.$ 0매개 변수는 사용되지 않습니다. 출력

함수 생성 add_three_values ​​(v1 anylement, v2 anylement, v3 anylement,

39.3.2. alias

NewName별칭OldName;

thealias구문이 더 일반적입니다NEW또는olda

예 :

선언

이후alias두 가지가 생성됩니다

39.3.3. 복사 유형

가변%유형

%유형a의 데이터 유형을 제공합니다user_idin사용자테이블. 변수를 선언합니다users.user_id당신은 다음 :

user_id users.user_id%유형;

사용하여%유형당신은 필요하지 않습니다user_idFrom정수toReal), 당신은 할 수 있습니다

%유형21802_22006%유형함수의 인수 또는 결과에

39.3.4. 행 유형

이름 table_name%RowType;이름 composite_type_name;

복합 유형의 변수를 a라고합니다.Row변수 (또는Row-Type변수). 이러한 변수는 aselect또는for쿼리 Query의 열면 쿼리 결과Rowvar.field.

행 변수는table_name%RowType표기법; 또는 선언 할 수 있습니다윈 토토쓰기 여부%RowType하지만%RowType더 많습니다

함수의 매개 변수는 복합 유형 일 수 있습니다 (완료$n행 변수가되고 필드를 선택할 수 있습니다.$ 1.user_id.

테이블 행의 사용자 정의 열만 액세스 할 수 있습니다.char (n).

복합 유형을 사용하는 예는 다음과 같습니다.표 1and표 2기존 테이블은 최소한 언급 된 필드를 가지고 있습니다.

함수 생성 merge_fields (t_row table1)는 텍스트를 $$로 반환합니다

39.3.5. 레코드 유형

이름레코드;

레코드 변수는 행 유형 변수와 유사하지만 그것들은 그것들입니다select또는for명령.

참고레코드는 실제 데이터가 아닙니다PL/PGSQL함수가 선언되었습니다레코드, 이것은 그다지 아닙니다레코드실제 구조는

39.3.6. 의 협업pl/pgsql변수

apl/pgsql함수PostgreSQL : 문서 : 9.2 : 사설 토토 사이트 Support. Collation이있는 경우

함수 만들기 Less_than (텍스트, B 텍스트) Boolean을 $$로 반환합니다.

첫 번째 사용Less_than의 공통 콜레이션을 사용합니다Text_field_1Text_field_2비교를 위해CCollation.

또한 식별 된 협업은 또한

함수 만들기 Less_than (텍스트, B 텍스트) Boolean을 $$로 반환합니다.

Collatable 데이터 유형의 매개 변수가없는 경우

Collatable 데이터 유형의 로컬 변수는Collate선언의 옵션

선언

이 옵션은 그렇지 않으면 Collation을 대체합니다

물론 명시 적Collate조항이 원하는 경우 함수 내부에 쓸 수 있습니다.

함수 만들기 Less_than_C (a 텍스트, b 텍스트) Boolean을 $$로 반환합니다.

이것은 테이블과 관련된 콜라이트를 무시합니다