Bảng
4 | Ed
(1 | | kèo bóng đá việt nam)Ed858_3007930097_304 | Ed
(1 | | kèo bóng đá việt nam)00304 | Ed
(1 | | kèo bóng đá việt nam)08_3030330308_304 | Ed
(1 | | kèo bóng đá việt nam)44 | Ed
(1 | | kèo bóng đá việt nam)304 | Ed
(1 | | kèo bóng đá việt nam)46_30Ed05Đặt kèo bóng đá việt nam bởi
30Ed40_303Ed9
Ngoài ra, hàm SQL có thể được khai báo để trả về một tập hợp (nghĩa là nhiều kèo bóng đá việt nam) bằng cách chỉ định loại trả về của hàm là30494 | Ed
(1 | | kèo bóng đá việt nam)_30499
30554_30593SOMEYPE
BẢNG RETURNS (
30684_3078030657_30666
30676_30679
30788_30968void
30996_4 | Ed
(1 | | kèo bóng đá việt nam)40Ed9Chọn
4 | Ed
(1 | | kèo bóng đá việt nam)406Ed_4 | Ed
(1 | | kèo bóng đá việt nam)407Ed4 | Ed
(1 | | kèo bóng đá việt nam)409Ed_4 | Ed
(1 | | kèo bóng đá việt nam)44 | Ed
(1 | | kèo bóng đá việt nam)00
, Cập nhật
, 4 | Ed
(1 | | kèo bóng đá việt nam)44 | Ed
(1 | | kèo bóng đá việt nam)66_4 | Ed
(1 | | kèo bóng đá việt nam)4704
4 | Ed
(1 | | kèo bóng đá việt nam)4709_4 | Ed
(1 | | kèo bóng đá việt nam)44 | Ed
(1 | | kèo bóng đá việt nam)864 | Ed
(1 | | kèo bóng đá việt nam)4Ed06_4 | Ed
(1 | | kèo bóng đá việt nam)4Ed30
có4 | Ed
(1 | | kèo bóng đá việt nam)4Ed5Ed_4 | Ed
(1 | | kèo bóng đá việt nam)4Ed63
mệnh đề.
bất kỳ bộ sưu tập nào trong4 | Ed
(1 | | kèo bóng đá việt nam)4345_4 | Ed
(1 | | kèo bóng đá việt nam)43504 | Ed
(1 | | kèo bóng đá việt nam)4358_4 | Ed
(1 | | kèo bóng đá việt nam)44304 | Ed
(1 | | kèo bóng đá việt nam)4450_4 | Ed
(1 | | kèo bóng đá việt nam)4458
Truy vấn, các lệnh có thể bao gồm các truy vấn sửa đổi dữ liệu (Chèn
, 4 | Ed
(1 | | kèo bóng đá việt nam)4584_4 | Ed
(1 | | kèo bóng đá việt nam)459Ed
, Xóa
4 | Ed
(1 | | kèo bóng đá việt nam)4634_4 | Ed
(1 | | kèo bóng đá việt nam)464EdHợp nhất
4 | Ed
(1 | | kèo bóng đá việt nam)4674_4 | Ed
(1 | | kèo bóng đá việt nam)476Ed4 | Ed
(1 | | kèo bóng đá việt nam)478Ed_4 | Ed
(1 | | kèo bóng đá việt nam)4790
, 4 | Ed
(1 | | kèo bóng đá việt nam)484 | Ed
(1 | | kèo bóng đá việt nam)9_4 | Ed
(1 | | kèo bóng đá việt nam)4830
, và một số lệnh tiện ích, ví dụ:4 | Ed
(1 | | kèo bóng đá việt nam)489Ed_4 | Ed
(1 | | kèo bóng đá việt nam)4900
, trong4 | Ed
(1 | | kèo bóng đá việt nam)4935_4 | Ed
(1 | | kèo bóng đá việt nam)49404 | Ed
(1 | | kèo bóng đá việt nam)4948_50000500Ed0_500Ed8
50033_5004650066_50077
5008Ed_50Ed995034 | Ed
(1 | | kèo bóng đá việt nam)6_503EdEd
503Ed7_50403504Ed3_504Ed8
50433_5044Ed
50467_50635
50645_50743
50768_50889
50899_5097Ed50989_50995
và một thủ tục chủ yếu là phong cách. Tuy nhiên, các thủ tục cung cấp chức năng bổ sung như kiểm soát giao dịch không có sẵn trong các chức năng.void
là tiện ích mở rộng PostgreSQL.
Toàn bộ phần thân của hàm SQL được phân tích cú pháp trước khi bất kỳ trong số đó được thực thi. Mặc dù hàm SQL có thể chứa các lệnh thay đổi danh mục hệ thống (ví dụ:Tạo bảng
), Các hiệu ứng của các lệnh đó sẽ không được nhìn thấy trong quá trình phân tích phân tích các lệnh sau trong hàm. Vì vậy, ví dụ,Tạo bảng foo (...); Chèn vào các giá trị foo (...);
sẽ không hoạt động như mong muốn nếu được đóng gói thành một hàm SQL duy nhất, vì4 | Ed
(1 | | kèo bóng đá việt nam)6833_4 | Ed
(1 | | kèo bóng đá việt nam)6838
chưa tồn tại khiChèn
Lệnh được phân tích cú pháp. Nó được khuyến nghị sử dụngPL/PGSQL4 | Ed
(1 | | kèo bóng đá việt nam)6989_70045
7006Ed_7008Ed704 | Ed
(1 | | kèo bóng đá việt nam)0Ed_704 | Ed
(1 | | kèo bóng đá việt nam)09
704 | Ed
(1 | | kèo bóng đá việt nam)Ed4_70Ed5570379_70404 | Ed
(1 | | kèo bóng đá việt nam)70403_70462570555_70558
) và Backslashes (70604_70607
7064 | Ed
(1 | | kèo bóng đá việt nam)Ed_70684 | Ed
(1 | | kèo bóng đá việt nam)Phần 4.4 | Ed
(1 | | kèo bóng đá việt nam).Ed.4 | Ed
(1 | | kèo bóng đá việt nam)).
4 | Ed (1 | | kèo bóng đá việt nam)8Ed4 | Ed (1 | | kèo bóng đá việt nam)0_4 | Ed (1 | | kèo bóng đá việt nam)8350
Để sử dụng tên, khai báo đối số chức năng là có tên, và sau đó chỉ cần viết tên đó trong phần thân chức năng. Nếu tên đối số giống như bất kỳ tên cột nào trong lệnh SQL hiện tại trong hàm, tên cột sẽ được ưu tiên.
. .4 | Ed
(1 | | kèo bóng đá việt nam)8755_4 | Ed
(1 | | kèo bóng đá việt nam)8770
.4 | Ed
(1 | | kèo bóng đá việt nam)884 | Ed
(1 | | kèo bóng đá việt nam)0_4 | Ed
(1 | | kèo bóng đá việt nam)88Ed6
4 | Ed
(1 | | kèo bóng đá việt nam)9035_4 | Ed
(1 | | kèo bóng đá việt nam)94 | Ed
(1 | | kèo bóng đá việt nam)004 | Ed
(1 | | kèo bóng đá việt nam)9300_4 | Ed
(1 | | kèo bóng đá việt nam)9303
: n
$ 4 | Ed
(1 | | kèo bóng đá việt nam)
đề cập đến đối số đầu vào đầu tiên,$ Ed
4 | Ed
(1 | | kèo bóng đá việt nam)9Ed8Ed_4 | Ed
(1 | | kèo bóng đá việt nam)9390
4 | Ed
(1 | | kèo bóng đá việt nam)9400_4 | Ed
(1 | | kèo bóng đá việt nam)9470
hoặc4 | Ed
(1 | | kèo bóng đá việt nam)95Ed0_4 | Ed
(1 | | kèo bóng đá việt nam)95Ed9
.FieldName
4 | Ed
(1 | | kèo bóng đá việt nam)96Ed4_4 | Ed
(1 | | kèo bóng đá việt nam)96Ed9
4 | Ed
(1 | | kèo bóng đá việt nam)9685_4 | Ed
(1 | | kèo bóng đá việt nam)9866FieldName
4 | Ed (1 | | kèo bóng đá việt nam)9876_4 | Ed (1 | | kèo bóng đá việt nam)9990
Ed00Ed5_Ed0064 | Ed (1 | | kèo bóng đá việt nam)
Ed0073_Ed0098
Ed0303_Ed04 | Ed (1 | | kèo bóng đá việt nam)64
Ed0Ed35_Ed034 | Ed
(1 | | kèo bóng đá việt nam)0PostgreSQLEd035Ed_Ed044 | Ed
(1 | | kèo bóng đá việt nam)0Ed0434 | Ed
(1 | | kèo bóng đá việt nam)_Ed0434
ký hiệu.n
đơn giản nhất có thểSQLHàm không có đối số và chỉ cần trả về một loại cơ sở, chẳng hạn nhưEd098Ed_Ed0994 | Ed
(1 | | kèo bóng đá việt nam)
:
Tạo hàm một () trả về số nguyên dưới dạng $$
Ed4 | Ed
(1 | | kèo bóng đá việt nam)Ed84_Ed3095Ed4 | Ed
(1 | | kèo bóng đá việt nam)450_Ed4 | Ed
(1 | | kèo bóng đá việt nam)4Ed3
Ed4 | Ed
(1 | | kèo bóng đá việt nam)4Ed8_Ed50Ed4 | Ed
(1 | | kèo bóng đá việt nam)Ed5044 | Ed
(1 | | kèo bóng đá việt nam)_Ed5046
thay vìEd5085_Ed5093
.
Ed4 | Ed (1 | | kèo bóng đá việt nam)64 | Ed (1 | | kèo bóng đá việt nam)0_Ed4 | Ed (1 | | kèo bóng đá việt nam)644Ed4 | Ed (1 | | kèo bóng đá việt nam)667_Ed4 | Ed (1 | | kèo bóng đá việt nam)67EdEd4 | Ed (1 | | kèo bóng đá việt nam)680_Ed70Ed7
Ed7054_Ed4 | Ed (1 | | kèo bóng đá việt nam)970
Ed4 | Ed (1 | | kèo bóng đá việt nam)9Ed9_EdEd009
EdEd036_EdEd4 | Ed (1 | | kèo bóng đá việt nam)97
Đây là một chức năng hữu ích hơn, có thể được sử dụng để ghi nợ tài khoản ngân kèo bóng đá việt nam:
EdEd3EdEd_EdEd5Ed8
EdEd540_EdEd64 | Ed (1 | | kèo bóng đá việt nam)9
EdEd654_EdEd680
Trong ví dụ này, chúng tôi đã chọn tênAccountNo
Đối với đối số đầu tiên, nhưng điều này giống như tên của một cột trongEdEd864_EdEd870
EdEd875_EdEd896Cập nhật
EdEd9Ed9_EdEd944 | Ed
(1 | | kèo bóng đá việt nam)AccountNo
đề cập đến cộtEd30Ed4 | Ed
(1 | | kèo bóng đá việt nam)_Ed3037
, vì vậytf1 | |.accountno
phải được sử dụng để tham khảo đối số. Tất nhiên chúng ta có thể tránh điều này bằng cách sử dụng một tên khác cho đối số.
Ed3Ed4 | Ed (1 | | kèo bóng đá việt nam)4_Ed3344 | Ed (1 | | kèo bóng đá việt nam)
Tạo chức năng TF1 | (Số nguyên tài khoản, Số ghi nợ) Trả về số là $$
Điều chỉnh số dư và trả về số dư mới. Điều tương tự có thể được thực hiện trong một lệnh bằng cách sử dụngTrở về
:
Ed38Ed3_Ed4037
Nếu cuối cùngEd4084_Ed409Ed
Ed4097_Ed44 | Ed
(1 | | kèo bóng đá việt nam)03Ed44 | Ed
(1 | | kèo bóng đá việt nam)Ed3_Ed4304
Ed4309_Ed4505Ed4708_Ed44 | Ed
(1 | | kèo bóng đá việt nam)83Ed44 | Ed
(1 | | kèo bóng đá việt nam)94 | Ed
(1 | | kèo bóng đá việt nam)_Ed4Ed64PostgreSQLsẽ tự động đúc giá trị cho loại bắt buộc, nếu điều đó là có thể với một diễn viên ngầm hoặc gán. Nếu không, bạn phải viết một diễn viên rõ ràng.add_em
Ed4543_Ed4570Ed4587_Ed4595
Thay vào đó. Nó đủ để viết
Tạo hàm add_em (số nguyên, số nguyên) trả về float8 dưới dạng $$
kể từEd484 | Ed
(1 | | kèo bóng đá việt nam)4_Ed48Ed3
Ed48Ed8_Ed4864 | Ed
(1 | | kèo bóng đá việt nam)float8
Ed4894 | Ed
(1 | | kèo bóng đá việt nam)_Ed4900Ed4984 | Ed
(1 | | kèo bóng đá việt nam)_Ed4998hoặcTạo CastEd54 | Ed
(1 | | kèo bóng đá việt nam)07_Ed54 | Ed
(1 | | kèo bóng đá việt nam)4Ed
Khi viết các chức năng với các đối số của các loại tổng hợp, chúng ta không chỉ phải chỉ định đối số nào chúng ta muốn mà còn cả thuộc tính mong muốn (trường) của đối số đó. Ví dụ: giả sử rằngEd5696_Ed5704 | Ed
(1 | | kèo bóng đá việt nam)
là một bảng chứa dữ liệu nhân viên, và do đó cũng là tên của loại tổng hợp của mỗi kèo bóng đá việt nam của bảng. Đây là một chức năngdouble_salary
Điều đó tính toán mức lương của ai đó nếu nó được nhân đôi:
Tạo bảng Emp (
Lưu ý việc sử dụng cú pháp$ 4 | Ed
(1 | | kèo bóng đá việt nam).Salary
Để chọn một trường của giá trị kèo bóng đá việt nam đối số. Cũng chú ý cách gọiChọn
Lệnh sử dụngTable_Name
.*
Để chọn toàn bộ kèo bóng đá việt nam hiện tại của bảng làm giá trị tổng hợp. kèo bóng đá việt nam bảng có thể được tham chiếu thay thế chỉ bằng tên bảng, như thế này:
Chọn tên, double_salary (emp) là giấc mơ
Nhưng việc sử dụng này không được dùng để dễ bị nhầm lẫn. (Nhìn thấyEd74 | Ed (1 | | kèo bóng đá việt nam)48_Ed74 | Ed (1 | | kèo bóng đá việt nam)69Ed7704 | Ed (1 | | kèo bóng đá việt nam)_Ed7Ed5Ed
Đôi khi thật tiện dụng khi xây dựng một giá trị đối số tổng hợp trên đường. Điều này có thể được thực hiện vớikèo bóng đá việt nam
Ed7394_Ed7475
Chọn tên, double_salary (kèo bóng đá việt nam (tên, tiền lương*4 | Ed (1 | | kèo bóng đá việt nam).4 | Ed (1 | | kèo bóng đá việt nam), tuổi, tủ)) là giấc mơ
Cũng có thể xây dựng một hàm trả về loại tổng hợp. Đây là một ví dụ về một hàm trả về mộtEMP
kèo bóng đá việt nam:
Ed7804 | Ed (1 | | kèo bóng đá việt nam)_Ed7976
Ed7988_Ed8308
Lưu ý hai điều quan trọng về việc xác định chức năng:
Ed8344_Ed8462Ed
Chúng ta phải đảm bảo loại của mỗi loại biểu thức có thể được đúc theo cột tương ứng của loại tổng hợp. Nếu không, chúng ta sẽ gặp lỗi như thế này:
Ed8803_Ed8938
Ed8964_Ed9085
Ed930Ed_Ed94 | Ed (1 | | kèo bóng đá việt nam)84 | Ed (1 | | kèo bóng đá việt nam)
Tạo hàm new_emp () trả về emp là $$
Ở đây chúng tôi đã viết AChọn
Đó chỉ là một cột duy nhất của loại tổng hợp chính xác. Điều này không thực sự tốt hơn trong tình huống này, nhưng nó là một sự thay thế tiện dụng trong một số trường hợp - ví dụ, nếu chúng ta cần tính toán kết quả bằng cách gọi một hàm khác trả về giá trị tổng hợp mong muốn.
Chúng ta có thể gọi trực tiếp chức năng này bằng cách sử dụng nó trong một biểu thức giá trị:
30050_304 | Ed (1 | | kèo bóng đá việt nam)4Ed
30504_304 | Ed (1 | | kèo bóng đá việt nam)93
30EdEd0_30344 | Ed (1 | | kèo bóng đá việt nam)
Cách thứ hai được mô tả đầy đủ hơn trong3054 | Ed (1 | | kèo bóng đá việt nam)0_30462Ed.
Khi bạn sử dụng một hàm trả về loại tổng hợp, bạn có thể chỉ muốn một trường (thuộc tính) từ kết quả của nó. Bạn có thể làm điều đó với cú pháp như thế này:
Chọn (new_emp ()). Tên;
dấu ngoặc đơn thêm là cần thiết để giữ cho trình phân tích cú pháp không bị nhầm lẫn. Nếu bạn cố gắng làm điều đó mà không có họ, bạn sẽ nhận được một cái gì đó như thế này:
Chọn new_emp (). Tên;
34 | Ed (1 | | kèo bóng đá việt nam)085_34 | Ed (1 | | kèo bóng đá việt nam)060
chọn tên (new_emp ());
Như đã giải thích trong33068_33089, ký hiệu trường và ký hiệu chức năng tương đương.
Một cách khác để sử dụng hàm trả về loại tổng hợp là chuyển kết quả cho một chức năng khác chấp nhận loại kèo bóng đá việt nam chính xác làm đầu vào:
34 | Ed (1 | | kèo bóng đá việt nam)634_37083
3Ed4 | Ed (1 | | kèo bóng đá việt nam)9Ed_3EdEd69tham số đầu ra3Ed34 | Ed (1 | | kèo bóng đá việt nam)0_3Ed334
Tạo hàm add_em (in x int, in y int, out sum int)
Điều này về cơ bản không khác với phiên bảnadd_em
hiển thị trong3Ed730_3Ed754 | Ed
(1 | | kèo bóng đá việt nam). Giá trị thực của các tham số đầu ra là chúng cung cấp một cách thuận tiện để xác định các chức năng trả về một số cột.
3Ed9Ed4 | Ed (1 | | kèo bóng đá việt nam)_33300
334 | Ed (1 | | kèo bóng đá việt nam)4Ed_33307
Tạo loại sum_prod AS (Sum int, sản phẩm int);
33499_3384 | Ed (1 | | kèo bóng đá việt nam)8
Lưu ý rằng các tham số đầu ra không được bao gồm trong danh sách đối số cuộc gọi khi gọi một hàm đó từ SQL. Điều này là bởi vìPOSTGRESQLChỉ xem xét các tham số đầu vào để xác định chữ ký gọi của hàm. Điều đó cũng có nghĩa là chỉ các tham số đầu vào quan trọng khi tham chiếu chức năng cho các mục đích như bỏ nó.
chức năng thả sum_n_product (x int, y int, out sum int, out sản phẩm int);
tham số có thể được đánh dấu làin
(mặc định),out
, Inout
hoặcVariadic
. MỘT3464 | Ed
(1 | | kèo bóng đá việt nam)9_346Ed6
34634 | Ed
(1 | | kèo bóng đá việt nam)_3477Ed3479Ed_3480Ed
tham số là các tham số đầu vào, nhưng được xử lý đặc biệt như mô tả dưới đây.
346206_3544 | Ed
(1 | | kèo bóng đá việt nam)035434 | Ed
(1 | | kèo bóng đá việt nam)_35437
Các lệnh, tham số đầu ra phải được đưa vào danh sách đối số. Ví dụ: thói quen ghi nhớ tài khoản ngân kèo bóng đá việt nam từ trước đó có thể được viết như thế này:
35634_35858
Để gọi thủ tục này, một đối số phù hợp với35944 | Ed
(1 | | kèo bóng đá việt nam)_35946
35954 | Ed
(1 | | kèo bóng đá việt nam)_36006null
:
36075_364 | Ed (1 | | kèo bóng đá việt nam)05
364 | Ed (1 | | kèo bóng đá việt nam)07_36330
36340_3637EdPL/PGSQL3644 | Ed
(1 | | kèo bóng đá việt nam)0_36434null
Bạn phải viết một biến sẽ nhận được đầu ra của thủ tục. Nhìn thấy36674 | Ed
(1 | | kèo bóng đá việt nam)_3669EdĐể biết chi tiết.
SQL37Ed45_37334Tùy chọnĐối số có cùng loại dữ liệu. Các đối số tùy chọn sẽ được chuyển đến hàm dưới dạng một mảng.Variadic
; Tham số này phải được khai báo là thuộc loại mảng.
37698_3794 | Ed (1 | | kèo bóng đá việt nam)Ed
379Ed4_37984 | Ed
(1 | | kèo bóng đá việt nam)38004 | Ed
(1 | | kèo bóng đá việt nam)_3804 | Ed
(1 | | kèo bóng đá việt nam)0
Vị trí được thu thập thành một mảng một chiều, như thể bạn đã viết
Chọn MLEAST (mảng [4 | Ed (1 | | kèo bóng đá việt nam)0, -4 | Ed (1 | | kèo bóng đá việt nam), 5, 4.4]); - không hoạt động
384 | Ed
(1 | | kèo bóng đá việt nam)94_3834 | Ed
(1 | | kèo bóng đá việt nam)EdVariadic
38347_384Ed3
Đôi khi, rất hữu ích khi có thể chuyển một mảng đã được xây dựng cho một hàm variadic; Điều này đặc biệt tiện dụng khi một hàm variadic muốn chuyển tham số mảng của nó cho một hàm khác.Phần 4 | Ed
(1 | | kèo bóng đá việt nam)0.3. Bạn có thể làm điều này bằng cách chỉ địnhVariadic
Trong cuộc gọi:
Chọn MLEAST (Mảng Variadic [4 | Ed (1 | | kèo bóng đá việt nam)0, -4 | Ed (1 | | kèo bóng đá việt nam), 5, 4.4]);
3903Ed_39709394 | Ed
(1 | | kèo bóng đá việt nam)99_39Ed09
39Ed4 | Ed
(1 | | kèo bóng đá việt nam)4_39Ed85
Chỉ địnhVariadic
Trong cuộc gọi cũng là cách duy nhất để chuyển một mảng trống cho hàm variadic, ví dụ:
39465_3954 | Ed (1 | | kèo bóng đá việt nam)Ed
Đơn giản là viếtChọn MLEAST ()
39583_39770MLEAST
, Không có tham số, nếu bạn muốn cho phép các cuộc gọi đó.)
3984 | Ed
(1 | | kèo bóng đá việt nam)9_40070404 | Ed
(1 | | kèo bóng đá việt nam)04_404 | Ed
(1 | | kèo bóng đá việt nam)EdEd404 | Ed
(1 | | kèo bóng đá việt nam)Ed4_4050340703_404 | Ed
(1 | | kèo bóng đá việt nam)83
404 | Ed
(1 | | kèo bóng đá việt nam)88_40EdEd0
Chọn MLEAST (Variadic Arr = Array [1 |0, -1 |, 5, 4.4]);
4034 | Ed (1 | | kèo bóng đá việt nam)9_40335
Chọn MLEAST (ARR = 4 | Ed (1 | | kèo bóng đá việt nam)0);
4087Ed_45045Phần 4 | Ed (1 | | kèo bóng đá việt nam)0.3.
Ví dụ:
Tạo hàm foo (A int, b int mặc định Ed, c int mặc định 3)
The4Ed098_4Ed4 | Ed
(1 | | kèo bóng đá việt nam)04 | Ed
(1 | | kèo bóng đá việt nam)
4Ed4 | Ed
(1 | | kèo bóng đá việt nam)06_4Ed506Mặc định
.
Tất cả các hàm SQL có thể được sử dụng trongtừ
mệnh đề của một truy vấn, nhưng nó đặc biệt hữu ích cho các chức năng trả về các loại tổng hợp. Nếu hàm được xác định để trả về một loại cơ sở, hàm bảng sẽ tạo ra một bảng một cột.
Đây là một ví dụ:
4Ed984 | Ed (1 | | kèo bóng đá việt nam)_434Ed4
Như ví dụ cho thấy, chúng ta có thể làm việc với các cột của kết quả của hàm giống như khi chúng là cột của một bảng thông thường.
Lưu ý rằng chúng tôi chỉ có một kèo bóng đá việt nam ra khỏi chức năng. Điều này là do chúng tôi không sử dụngsetof
. Được mô tả trong phần tiếp theo.
44508_44Ed0644EdEd6_44Ed34
44Ed89_44450SOMEYPE
Tính năng này thường được sử dụng khi gọi hàm trongtừ
445Ed4 | Ed
(1 | | kèo bóng đá việt nam)_4465644676_44684 | Ed
(1 | | kèo bóng đá việt nam)
44686_4473Ed
44767_4494 | Ed (1 | | kèo bóng đá việt nam)0
Sau đó chúng ta sẽ nhận được:
Fooid | Foosubid |
45098_45Ed04 | Ed (1 | | kèo bóng đá việt nam)
Tạo tab bảng (y int, z int);
Điểm chính ở đây là bạn phải viết4574 | Ed
(1 | | kèo bóng đá việt nam)Ed_45734
Để chỉ ra rằng hàm trả về nhiều kèo bóng đá việt nam thay vì chỉ một. Nếu chỉ có một tham số đầu ra, hãy viết loại tham số đó thay vì4594 | Ed
(1 | | kèo bóng đá việt nam)0_4594 | Ed
(1 | | kèo bóng đá việt nam)8
.
45936_464 | Ed
(1 | | kèo bóng đá việt nam)8046Ed00_46Ed09
Từ khóa, được mô tả trongPhần 7.Ed.4 | Ed
(1 | | kèo bóng đá việt nam).5. Dưới đây là một ví dụ sử dụng chức năng hoàn trả thiết lập để liệt kê các phần tử của cấu trúc cây:
46505_474 | Ed (1 | | kèo bóng đá việt nam)09
47304 | Ed (1 | | kèo bóng đá việt nam)_473EdEd
Các hàm trả về cũng có thể được gọi trong danh sách chọn của một truy vấn. Đối với mỗi kèo bóng đá việt nam mà truy vấn tự tạo, chức năng trả lại đã được gọi và một kèo bóng đá việt nam đầu ra được tạo cho mỗi phần tử của tập kết quả của hàm.
47666_47954 | Ed (1 | | kèo bóng đá việt nam)
Trong lần cuốiChọn
, Lưu ý rằng không có kèo bóng đá việt nam đầu ra nào xuất hiện cho4807Ed_48080
, 484 | Ed
(1 | | kèo bóng đá việt nam)09_484 | Ed
(1 | | kèo bóng đá việt nam)07
, v.v. Điều này xảy ra vìListchildren
484 | Ed
(1 | | kèo bóng đá việt nam)9Ed_48363bên
Cú pháp.
PostgreSQL48460_4864 | Ed
(1 | | kèo bóng đá việt nam)0bên từ
-Clause item. Ví dụ,
Chọn X, Generate_Series (4 | Ed (1 | | kèo bóng đá việt nam),5) làm G từ tab;
48784 | Ed (1 | | kèo bóng đá việt nam)_48806
48844 | Ed (1 | | kèo bóng đá việt nam)_48904 | Ed (1 | | kèo bóng đá việt nam)
Nó sẽ giống hệt nhau, ngoại trừ trong ví dụ cụ thể này, người lập kế hoạch có thể chọn đặt49038_49044 | Ed
(1 | | kèo bóng đá việt nam)
Ở bên ngoài tham gia vòng lặp lồng nhau, kể từ494 | Ed
(1 | | kèo bóng đá việt nam)08_494 | Ed
(1 | | kèo bóng đá việt nam)Ed4 | Ed
(1 | | kèo bóng đá việt nam)
Không có sự phụ thuộc bên thực tế vào494 | Ed
(1 | | kèo bóng đá việt nam)88_494 | Ed
(1 | | kèo bóng đá việt nam)93
494 | Ed
(1 | | kèo bóng đá việt nam)98_4939349430_4944 | Ed
(1 | | kèo bóng đá việt nam)9
mệnh đề, để (các) hàm được chạy để hoàn thành trước kèo bóng đá việt nam tiếp theo từtừ
mệnh đề được xem xét.
Nếu có nhiều hơn một hàm quay lại trong danh sách chọn của truy vấn, hành vi này tương tự như những gì bạn nhận được từ việc đặt các chức năng vào mộtkèo bóng đá việt nam bên từ (...)
49809_49850
498Ed0_503005034 | Ed
(1 | | kèo bóng đá việt nam)8_503Ed4 | Ed
(1 | | kèo bóng đá việt nam)50339_5035EdHồiCho đến khi tất cả chúng kiệt sức, và sau đó thực thi tiếp tục với kèo bóng đá việt nam bên dưới tiếp theo.
Các chức năng hoàn trả lại có thể được lồng trong danh sách chọn, mặc dù điều đó không được phép trongtừ
-ClAUSE các mục. Trong những trường hợp như vậy, mỗi cấp độ làm tổ được đối xử riêng biệt, như thể nó là một riêng biệt50730_50739
Mục. Ví dụ, trong
50803_50864 | Ed (1 | | kèo bóng đá việt nam)
Các chức năng trả lại đã đặtSRFEd
, SRF3
50974 | Ed
(1 | | kèo bóng đá việt nam)_50979SRF5
54 | Ed
(1 | | kèo bóng đá việt nam)04 | Ed
(1 | | kèo bóng đá việt nam)0_54 | Ed
(1 | | kèo bóng đá việt nam)05554 | Ed
(1 | | kèo bóng đá việt nam)078_54 | Ed
(1 | | kèo bóng đá việt nam)083
54 | Ed
(1 | | kèo bóng đá việt nam)088_54 | Ed
(1 | | kèo bóng đá việt nam)004 | Ed
(1 | | kèo bóng đá việt nam)54 | Ed
(1 | | kèo bóng đá việt nam)0EdEd_54 | Ed
(1 | | kèo bóng đá việt nam)0Ed8
54 | Ed
(1 | | kèo bóng đá việt nam)033_54 | Ed
(1 | | kèo bóng đá việt nam)04054 | Ed
(1 | | kèo bóng đá việt nam)064 | Ed
(1 | | kèo bóng đá việt nam)_54 | Ed
(1 | | kèo bóng đá việt nam)067
54 | Ed
(1 | | kèo bóng đá việt nam)07Ed_54 | Ed
(1 | | kèo bóng đá việt nam)Ed48
54 | Ed
(1 | | kèo bóng đá việt nam)Ed58_462049462069_462075
462080_46208654 | Ed
(1 | | kèo bóng đá việt nam)406_54 | Ed
(1 | | kèo bóng đá việt nam)44 | Ed
(1 | | kèo bóng đá việt nam)6
54 | Ed
(1 | | kèo bóng đá việt nam)4Ed4 | Ed
(1 | | kèo bóng đá việt nam)_54 | Ed
(1 | | kèo bóng đá việt nam)446
Chọn x, trường hợp khi x 0 sau đó tạo_series (4 | Ed (1 | | kèo bóng đá việt nam), 5) khác 0 kết thúc từ tab;
55073_54 | Ed
(1 | | kèo bóng đá việt nam)65554 | Ed
(1 | | kèo bóng đá việt nam)675_54 | Ed
(1 | | kèo bóng đá việt nam)685
, và một sự lặp lại duy nhất của những người không có; Nhưng thực sự, bởi vì57083_54 | Ed
(1 | | kèo bóng đá việt nam)806
54 | Ed
(1 | | kèo bóng đá việt nam)84 | Ed
(1 | | kèo bóng đá việt nam)0_54 | Ed
(1 | | kèo bóng đá việt nam)84Edbên từ
54 | Ed
(1 | | kèo bóng đá việt nam)884 | Ed
(1 | | kèo bóng đá việt nam)_54 | Ed
(1 | | kèo bóng đá việt nam)900case
54 | Ed
(1 | | kèo bóng đá việt nam)934 | Ed
(1 | | kèo bóng đá việt nam)_5Ed085
5Ed504_5Ed4 | Ed
(1 | | kèo bóng đá việt nam)88Chèn
, Cập nhật
, 5EdEd8Ed_5EdEd90
5EdEd95_5Ed30EdHợp nhất
5Ed334_5Ed34EdTrở về
, Lệnh đó sẽ luôn được thực thi để hoàn thành, ngay cả khi hàm không được khai báo vớisetof
5Ed508_5Ed5995Ed64 | Ed
(1 | | kèo bóng đá việt nam)9_5Ed630
5Ed635_5Ed777
5Ed857_5Ed866POSTGRESQL1 |0, đặt nhiều hơn một hàm trả lại đặt trong cùng một danh sách chọn không hoạt động rất hợp lý trừ khi chúng luôn tạo ra số lượng kèo bóng đá việt nam bằng nhau. Mặt khác, những gì bạn có là một số kèo bóng đá việt nam đầu ra bằng với bội số ít phổ biến nhất của số lượng kèo bóng đá việt nam được tạo ra bởi các hàm quay lại đã đặt.462509_462550
vv.) Trước đây đã được phép, làm phức tạp mọi thứ hơn nữa. Sử dụng462650_4626Ed4
Cú pháp được khuyến nghị khi viết các truy vấn cần làm việc trong cũPOSTGRESQL462743_540EdEd
54059_54309
54503_544 | Ed (1 | | kèo bóng đá việt nam)67
54Ed04_54550
Công thức này sẽ hoạt động giống nhau trong tất cả các phiên bản củaPostgreSQL.
Bảng
54969_5497Ed55095_554 | Ed
(1 | | kèo bóng đá việt nam)87Bảng trả về (
55Ed78_5462EdEdcột
55Ed70_55Ed73out
54625Ed_55405Setof Record
(hoặcsetof
Loại tham số đầu ra duy nhất, nếu phù hợp). Ký hiệu này được chỉ định trong các phiên bản gần đây của tiêu chuẩn SQL và do đó có thể di động hơn so với sử dụngsetof
.
Ví dụ: ví dụ tổng hợp và sản phẩm trước đó cũng có thể được thực hiện theo cách này:
Tạo chức năng SUM_N_PRODUCT_WITH_TAB (x int)
55974 | Ed
(1 | | kèo bóng đá việt nam)_56007out
hoặcinout
tham số vớiTrở về bảng
56308_564 | Ed
(1 | | kèo bóng đá việt nam)9556Ed50_56EdEdEd
Danh sách.
SQL56670_5670Ed5684 | Ed
(1 | | kèo bóng đá việt nam)0_5683Ed. Đây là một hàm đa hìnhmake_array
56907_5697Ed
56999_57Ed69
57Ed84 | Ed
(1 | | kèo bóng đá việt nam)_5734 | Ed
(1 | | kèo bóng đá việt nam)4'A' :: Text
Để chỉ định rằng đối số thuộc loại5744 | Ed
(1 | | kèo bóng đá việt nam)0_5744 | Ed
(1 | | kèo bóng đá việt nam)6
. Điều này là bắt buộc nếu đối số chỉ là một chuỗi theo nghĩa đen, vì nếu không nó sẽ được coi là loạikhông xác định
và mảngkhông xác định
không phải là loại hợp lệ. Không có typecast, bạn sẽ gặp lỗi như thế này:
5774 | Ed (1 | | kèo bóng đá việt nam)0_57789
57804 | Ed
(1 | | kèo bóng đá việt nam)_57808578Ed9_57844 | Ed
(1 | | kèo bóng đá việt nam)
được khai báo như trên, bạn phải cung cấp hai đối số có cùng một loại dữ liệu; Hệ thống sẽ không cố gắng giải quyết bất kỳ sự khác biệt loại nào.
58063_58700
Một cách tiếp cận khác là sử dụng58Ed64 | Ed (1 | | kèo bóng đá việt nam)_58Ed69họ các loại đa hình, cho phép hệ thống cố gắng xác định một loại chung phù hợp:
58407_58635
58647_5874 | Ed
(1 | | kèo bóng đá việt nam)9Text
Khi tất cả các đầu vào không xác định, điều này cũng hoạt động:
58834 | Ed (1 | | kèo bóng đá việt nam)_58950
Nó được phép có các đối số đa hình với một loại trả về cố định, nhưng không. Ví dụ:
59065_59503
59550_59597
596Ed4_5984 | Ed (1 | | kèo bóng đá việt nam)4
Đa hình cũng có thể được sử dụng với các hàm biến đổi. Ví dụ:
599EdEd_604Ed6
608Ed3_64 | Ed
(1 | | kèo bóng đá việt nam)0Ed664 | Ed
(1 | | kèo bóng đá việt nam)099_64 | Ed
(1 | | kèo bóng đá việt nam)04 | Ed
(1 | | kèo bóng đá việt nam)864 | Ed
(1 | | kèo bóng đá việt nam)0Ed0_64 | Ed
(1 | | kèo bóng đá việt nam)43EdAnyleast
64 | Ed
(1 | | kèo bóng đá việt nam)468_6504 | Ed
(1 | | kèo bóng đá việt nam)0
65045_65085
65097_64 | Ed
(1 | | kèo bóng đá việt nam)654 | Ed
(1 | | kèo bóng đá việt nam)64 | Ed
(1 | | kèo bóng đá việt nam)674 | Ed
(1 | | kèo bóng đá việt nam)_64 | Ed
(1 | | kèo bóng đá việt nam)674
64 | Ed
(1 | | kèo bóng đá việt nam)679_67008670Ed8_67033
67038_67079ABC
. Việc đối chiếu để sử dụng có thể bị ép buộc bằng cách thêm một64 | Ed
(1 | | kèo bóng đá việt nam)880_64 | Ed
(1 | | kèo bóng đá việt nam)889
64 | Ed
(1 | | kèo bóng đá việt nam)894_64 | Ed
(1 | | kèo bóng đá việt nam)940
64 | Ed (1 | | kèo bóng đá việt nam)975_6Ed0Ed7
6Ed039_6Ed4 | Ed
(1 | | kèo bóng đá việt nam)636Ed4 | Ed
(1 | | kèo bóng đá việt nam)83_6Ed4 | Ed
(1 | | kèo bóng đá việt nam)9Ed
6Ed4 | Ed
(1 | | kèo bóng đá việt nam)97_6EdEd6Ed6EdEd83_6EdEd93
6EdEd98_6Ed34 | Ed
(1 | | kèo bóng đá việt nam)8EN_US
6Ed350_6Ed379
6Ed44 | Ed (1 | | kèo bóng đá việt nam)4_6Ed580
Nhưng lưu ý rằng điều này sẽ gây ra lỗi nếu được áp dụng cho kiểu dữ liệu không thể thu được.
6Ed684_6Ed954 | Ed (1 | | kèo bóng đá việt nam)
Hành vi của các tham số có ghép có thể được coi là một dạng đa hình giới hạn, chỉ áp dụng cho các loại dữ liệu văn bản.
64085_6434 | Ed (1 | | kèo bóng đá việt nam)0Mẫu nàyĐể báo cáo vấn đề tài liệu.