2454_24892542_2804 | 2887_2703
Phiên bản được hỗ trợ:3558_35853587_359717)18 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.8 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2

41.3. Khai kèo bóng đá euro10830_10833

11815_11759cho11789_11924choVòng lặp lặp qua kết quả của con trỏ được tự động khai kèo bóng đá euro là biến bản ghi.)

PL/PGSQLBiến có thể có bất kỳ loại dữ liệu SQL nào, chẳng hạn như12158_12187, Varcharchar.

Đây là một số ví dụ về khai kèo bóng đá euro biến:

12337_12484

Cú pháp chung của khai kèo bóng đá euro biến là:

tên12598_12802hằng số12840_1284412872_12878[đối chiếu12752_12788 ] [không null] [Mặc định | : = |Biểu thức ];

TheMặc địnhmệnh đề, nếu được đưa ra, chỉ định giá trị ban đầu được gán cho biến khi khối được nhập. Nếumặc địnhmệnh đề không được đưa ra thì biến được khởi tạo thànhSQLgiá trị null. Thehằng sốTùy chọn ngăn biến được gán cho sau khi khởi tạo, do đó giá trị kèo bóng đá euro nó sẽ không đổi trong suốt thời lượng kèo bóng đá euro khối. The13458_13487Tùy chọn Chỉ định đối chiếu để sử dụng cho biến (xem13883_1388413888_13894không nullđược chỉ định, gán giá trị null dẫn đến lỗi thời gian chạy. Tất cả các biến được khai kèo bóng đá euro là13851_1388113888_13921=) có thể được sử dụng thay vì tuân thủ PL/SQL: =.

Giá trị mặc định của kèo bóng đá euro biến được đánh giá và gán cho biến mỗi khi khối được nhập (không chỉ kèo bóng đá euro lần mỗi lần gọi chức năng). Vì vậy, ví dụ, gánbây giờ ()đến kèo bóng đá euro biến của loạiDấu thời giangây ra biến có thời gian gọi hàm hiện tại, không phải thời gian khi hàm được biên dịch trước.

ví dụ:

14458_14585

Sau khi được khai kèo bóng đá euro, giá trị của một biến có thể được sử dụng trong các biểu thức khởi tạo sau này trong cùng một khối, ví dụ:

Khai kèo bóng đá euro

41.3.1. Khai kèo bóng đá euro tham số chức năng#

15097_15181$ 1, $ 2, v.v. Tùy chọn, các bí danh có thể được khai kèo bóng đá euro cho$15323_15328Tên tham số để tăng khả năng đọc. Bí danh hoặc định danh số sau đó có thể được sử dụng để tham khảo giá trị tham số.

Có hai cách để tạo ra kèo bóng đá euro bí danh. Cách ưa thích là đặt tên cho tham số trongTạo chức năng15834_15858

15893_15818

Cách khác là khai kèo bóng đá euro rõ ràng một bí danh, sử dụng cú pháp khai kèo bóng đá euro

15987_15973bí danh cho $n18038_18042

18054_18098

18133_18282

18334_18340

18353_1842318443_1845318458_1848418504_1852418529_1881518835_1884518850_18898

18719_18740

18775_17151

Khi A17198_17208Hàm được khai kèo bóng đá euro với các tham số đầu ra, các tham số đầu ra được đưa ra$n17382_17894

Tạo chức năng Sales_Tax (Subtotal Real, Out Tax Real) là $$

Lưu ý rằng chúng tôi đã bỏ quaTrả về Real- Chúng tôi có thể đã bao gồm nó, nhưng nó sẽ là dự phòng.

để gọi chức năng vớiouttham số, bỏ qua (các) tham số đầu ra trong cuộc gọi chức năng:

Chọn Sales_Tax (100.00);

Tham số đầu ra hữu ích nhất khi trả về nhiều giá trị. kèo bóng đá euro ví dụ tầm thường là:

18318_18540

Như đã thảo luận trongPhần 38.5.4, Điều này tạo ra kèo bóng đá euro loại bản ghi ẩn danh cho kết quả của chức năng. Nếu areturn18832_18884Trả về bản ghi.

18918_18985

Tạo quy trình sum_n_product (x int, y int, out sum int, out prod int) AS $$

19182_19251nullCó thể được chỉ định khi gọi quy trình từ SQL đơn giản:

gọi sum_n_product (2, 4, null, null);

19489_19510PL/PGSQL, thay vào đó bạn nên viết kèo bóng đá euro biến cho bất kỳ tham số đầu ra nào; Biến sẽ nhận được kết quả của cuộc gọi.Phần 41.8.3Để biết chi tiết.

Một cách khác để khai kèo bóng đá euroPL/PGSQLchức năng là với19954_19989, ví dụ:

Tạo chức năng mở rộng_sales (p_itemno int)

Điều này hoàn toàn tương đương với việc khai kèo bóng đá euro một hoặc nhiềuout20387_20398return setof20480_20470.

Khi loại trả về kèo bóng đá euro A20552_2058220587_20818Phần 36.2.5), kèo bóng đá euro tham số đặc biệt$ 020804_20988Phần 41.3.3. $ 0được khởi tạo thành NULL và có thể được sửa đổi bởi hàm, do đó nó có thể được sử dụng để giữ giá trị trả về nếu muốn, mặc dù điều đó không bắt buộc.21318_21320cũng có thể được đưa ra kèo bóng đá euro bí danh. Ví dụ: chức năng này hoạt động trên bất kỳ loại dữ liệu nào có+Nhà điều hành:

21492_21710

21722_2184821888_21870tham số không được sử dụng; Các tham số đầu ra tự phục vụ cùng kèo bóng đá euro mục đích.

22005_22202

22214_22298AnyCompitiatedHọ các loại, để tự động quảng bá các đối số đầu vào cho kèo bóng đá euro loại chung sẽ xảy ra. Ví dụ:

22480_22855

22887_22702

22737_22778

Sẽ hoạt động, tự động quảng bá các đầu vào số nguyên thành số. Chức năng sử dụngAnyEuitysẽ yêu cầu bạn chuyển ba đầu vào cho cùng loại theo cách thủ công.

41.3.2.bí danh #

23338_2334523355_23388OldName;

The23457_2348423489_23721mớihoặc23787_23818

23828_23837

Khai kèo bóng đá euro

kể từbí danhTạo hai cách khác nhau để đặt tên cho cùng kèo bóng đá euro đối tượng, việc sử dụng không giới hạn có thể gây nhầm lẫn. Tốt nhất là chỉ sử dụng nó cho mục đích ghi đè tên được xác định trước.

41.3.3. Sao chép các loại24373_24378

tên Bảng.cột24593_2480124829_24835 24878_2488824898_24704

%loạiCung cấp loại dữ liệu của cột bảng hoặc được khai kèo bóng đá euro trước đóPL/PGSQLBiến. Bạn có thể sử dụng điều này để khai kèo bóng đá euro các biến sẽ giữ các giá trị cơ sở dữ liệu.user_idtrong kèo bóng đá euro bạn25053_25080Bảng. Để khai kèo bóng đá euro một biến có cùng loại dữ liệu vớiuser.user_id25184_25177

user_id users.user_id%type;

cũng có thể viết trang trí mảng sau25329_25338, do đó tạo ra kèo bóng đá euro biến chứa kèo bóng đá euro mảng của loại được tham chiếu:

user_ids user.user_id%type [];

25583_25708POSTGRESQLxử lý tất cả các mảng của kèo bóng đá euro loại phần tử nhất định là cùng loại, bất kể tính thứ nguyên. (Nhìn thấy25947_25988.)

bằng cách sử dụng28015_28022Bạn không cần biết loại dữ liệu kèo bóng đá euro cấu trúc bạn đang tham khảo và quan trọng nhất là loại dữ liệu kèo bóng đá euro mục được tham chiếu thay đổi trong tương lai (ví dụ: bạn thay đổi loại28247_2825828281_2828928288_2829528300_2830828323_2832928334_28393

28425_2843228437_28829%loại28881_28715

41.3.4. Loại hàng28944_28947

tên Table_Name%RowType27157_27181tên 27238_2725727287_27271

kèo bóng đá euro biến của loại tổng hợp được gọi làhàngBiến (hoặcloại hàng27405_27481ChọnhoặcchoKết quả truy vấn, miễn là cột của truy vấn đó phù hợp với loại được khai kèo bóng đá euro của biến. Các trường riêng lẻ của giá trị hàng được truy cập bằng cách sử dụng ký hiệu dấu chấm thông thường, ví dụRowvar.field.

Một biến hàng có thể được khai kèo bóng đá euro có cùng loại với các hàng của bảng hoặc chế độ xem hiện có, bằng cách sử dụngTable_Name%RowType27988_28139PostgreSQLCho dù bạn viết%RowType28238_28285%RowTypecó khả năng di động hơn.)

như với28381_28388, %RowType28412_28528

28538_2885228872_2887528703_28708sẽ là kèo bóng đá euro biến hàng và các trường có thể được chọn từ nó, ví dụ$ 1.USER_ID.

Đây là kèo bóng đá euro ví dụ về việc sử dụng các loại prod hợp.28918_2892828981_28989Các bảng hiện có có ít nhất các trường được đề cập:

Tạo chức năng Merge_Fields (T_Row Bảng1) Trả về văn bản dưới dạng $$

41.3.5. Các loại bản ghi29593_29598

29700_29708Record;

Biến bản ghi tương tự như các biến loại hàng, nhưng chúng không có cấu trúc được xác định trước. Họ đảm nhận cấu trúc hàng thực tế của hàng mà họ được gán trong kèo bóng đá euro29928_29938hoặc29987_29972Lệnh. Cấu trúc kèo bóng đá euro biến bản ghi có thể thay đổi mỗi khi nó được gán cho.

30244_3025830278_30284không phải là kiểu dữ liệu thực sự, chỉ có kèo bóng đá euro trình giữ chỗ. Người ta cũng nên nhận ra rằng khi APL/PGSQLHàm được khai kèo bóng đá euro để trả về loại30488_30478, Đây không hoàn toàn giống với kèo bóng đá euro biến bản ghi, mặc dù kèo bóng đá euro hàm như vậy có thể sử dụng kèo bóng đá euro biến bản ghi để giữ kết quả của nó. Trong cả hai trường hợp, cấu trúc hàng thực tế không rõ khi nào chức năng được viết, nhưng đối với kèo bóng đá euro chức năng trả vềRecordCấu trúc thực tế được xác định khi truy vấn gọi được phân tích cú pháp, trong khi đó kèo bóng đá euro biến bản ghi có thể thay đổi cấu trúc hàng của nó trên đường.

41.3.8. Đối chiếuPL/PGSQL31113_31128#

31307_31318PL/PGSQL31355_31547Phần 23.2. Nếu kèo bóng đá euro đối chiếu được xác định thành công (nghĩa là, không có xung đột nào của các đối chiếu ngầm giữa các đối số) thì tất cả các tham số có thể lấy được được coi là có sự hợp tác đó ngầm.

31988_32235

32247_32288Less_thanSẽ sử dụng đối chiếu chung32383_32377text_field_2Để so sánh, trong khi việc sử dụng thứ hai sẽ sử dụngC32513_32528

32538_32733

32788_32954

32988_33259

33289_33381đối chiếu33415_33458

33491_33538

33548_33881

33871_33898đối chiếuCác điều khoản có thể được viết bên trong kèo bóng đá euro hàm nếu muốn buộc kèo bóng đá euro đối chiếu cụ thể được sử dụng trong kèo bóng đá euro thao tác cụ thể. Ví dụ,

33910_34044

34058_34222

Gửi hiệu chỉnh

35285_3549135588_3557735579_35843