Hàm tổng kèo bóng đá hôm nay và ngày mai trongPostgresđược thể hiện dưới dạngGiá trị trạng tháivàHàm chuyển tiếp trạng thái. Đó là, một Tổng kèo bóng đá hôm nay và ngày mai có thể được định nghĩa theo trạng thái được sửa đổi Bất cứ khi nào một mục đầu vào được xử lý. Để xác định một tổng kèo bóng đá hôm nay và ngày mai mới chức năng, người ta chọn một kiểu dữ liệu cho giá trị trạng thái, ban đầu Giá trị cho trạng thái, và một hàm chuyển đổi trạng thái. Nhà nước Hàm chuyển tiếp chỉ là một hàm thông thường cũng có thể được sử dụng bên ngoài bối cảnh của tổng kèo bóng đá hôm nay và ngày mai.
Trên thực tế, để giúp xây dựng hữu ích dễ dàng hơn tổng kèo bóng đá hôm nay và ngày mai từ các chức năng hiện có, một tổng kèo bóng đá hôm nay và ngày mai có thể có một hoặc hai giá trị trạng thái riêng biệt, một hoặc hai hàm chuyển đổi sang Cập nhật các giá trị trạng thái đó và ACuối cùng chức năngtính toán kết quả tổng kèo bóng đá hôm nay và ngày mai thực tế từ kết thúc các giá trị trạng thái.
Do đó, có thể có tới bốn kiểu dữ liệu liên quan: loại của các mục dữ liệu đầu vào, loại kết quả của tổng kèo bóng đá hôm nay và ngày mai và Các loại của hai giá trị trạng thái. Chỉ đầu vào và kết quả Kiểu dữ liệu được nhìn thấy bởi người dùng của tổng kèo bóng đá hôm nay và ngày mai.
kèo bóng đá hôm nay và ngày mai số chức năng chuyển tiếp trạng thái cần xem xét từng chức năng liên tiếp đầu vào để tính toán giá trị trạng thái tiếp theo, trong khi những người khác bỏ qua Giá trị đầu vào cụ thể và chỉ cần cập nhật trạng thái nội bộ của chúng. (The Ví dụ hữu ích nhất của loại thứ hai là số lượng chạy của Số lượng mục đầu vào.)PostgresMáy móc tổng kèo bóng đá hôm nay và ngày mai xác địnhSFUNC1Đối với tổng kèo bóng đá hôm nay và ngày mai như một hàm được thông qua cả giá trị trạng thái cũ và đầu vào hiện tại Giá trị, trong khiSFUNC2là kèo bóng đá hôm nay và ngày mai chức năng mà chỉ được thông qua giá trị trạng thái cũ.
Nếu chúng ta xác định tổng kèo bóng đá hôm nay và ngày mai chỉ sử dụngSFUNC1, chúng ta có một tổng kèo bóng đá hôm nay và ngày mai tính toán Chức năng chạy của các giá trị thuộc tính từ mỗi trường kèo bóng đá hôm nay và ngày mai. "Tổng" là một ví dụ về loại tổng kèo bóng đá hôm nay và ngày mai này. "Sum" bắt đầu ở mức 0 và Luôn thêm giá trị của phiên bản hiện tại vào tổng số chạy của nó. Vì Ví dụ: nếu chúng ta muốn tạo tổng kèo bóng đá hôm nay và ngày mai tổng kèo bóng đá hôm nay và ngày mai để hoạt động trên kiểu dữ liệu Đối với các số phức, chúng tôi chỉ cần chức năng bổ sung cho điều đó Kiểu dữ liệu. Định nghĩa tổng kèo bóng đá hôm nay và ngày mai là:
Tạo tổng kèo bóng đá hôm nay và ngày mai phức hợp_sum ( sfunc1 = comple_add, basetype = phức tạp, stype1 = phức tạp, initCond1 = '(0,0)' ); Chọn Complex_Sum (a) từ test_complex; +------------+ | Complex_Sum | +------------+ | (34,53,9) | +------------+(Trong thực tế, chúng tôi chỉ đặt tên cho tổng kèo bóng đá hôm nay và ngày mai "tổng" và dựa vàoPostgresĐể tìm ra loại nào kèo bóng đá hôm nay và ngày mai để áp dụng cho một cột phức tạp.)
Nếu chúng ta chỉ xác địnhSFUNC2, Chúng tôi là chỉ định một tổng kèo bóng đá hôm nay và ngày mai tính toán một hàm đang chạy không phụ thuộc vào các giá trị thuộc tính từ mỗi trường kèo bóng đá hôm nay và ngày mai. "Đếm" là Ví dụ phổ biến nhất của loại tổng kèo bóng đá hôm nay và ngày mai này. "Đếm" bắt đầu ở mức 0 và thêm một vào tổng số chạy của nó cho mỗi trường kèo bóng đá hôm nay và ngày mai, Bỏ qua giá trị thể hiện. Ở đây, chúng tôi sử dụng tích kèo bóng đá hôm nay và ngày maiINT4INCthói quen thực hiện công việc cho chúng tôi. Cái này gia số thường quy (thêm kèo bóng đá hôm nay và ngày mai vào) đối số của nó.
Tạo tổng kèo bóng đá hôm nay và ngày mai my_count ( sfunc2 = int4inc, - Thêm một basetype = int4, stype2 = int4, initCond2 = '0' ); Chọn my_count (*) làm EMP_Count từ EMP; +----------+ | EMP_COUNT | +----------+ | 5 | +----------+
"Trung bình" là một ví dụ về một tổng kèo bóng đá hôm nay và ngày mai yêu cầu cả hàm để tính tổng chạy và hàm để tính toán Chạy số lượng. Khi tất cả các trường kèo bóng đá hôm nay và ngày mai đã được xử lý, Câu trả lời cuối cùng cho tổng kèo bóng đá hôm nay và ngày mai là tổng chạy được chia cho Chạy số lượng. Chúng tôi sử dụngINT4PLvàINT4INCCác thói quen chúng tôi đã sử dụng trước đây cũng nhưPostgresSố nguyên Phân chia thường xuyên,INT4DIV, để tính toán sự phân chia của kèo bóng đá hôm nay và ngày mai số.
Tạo tổng kèo bóng đá hôm nay và ngày mai my_average ( sfunc1 = int4pl, - sum basetype = int4, stype1 = int4, sfunc2 = int4inc, - đếm stype2 = int4, FinalFunc = int4div, - Bộ phận initCond1 = '0', initCond2 = '0' ); Chọn my_average (tiền lương) làm EMP_AVERAGE từ EMP; +------------+ | EMP_AVERAGE | +------------+ | 1640 | +------------+
Để biết thêm chi tiết, xemTạo tổng kèo bóng đá hôm nay và ngày maiinHướng dẫn sử dụng PostgreSQL.