kèo bóng đá euro | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 34.SQL | Chuyển tiếp nhanh | NEXT |
như được mô tả trongPhần, kèo bóng đá eurocó thểSQLNgôn ngữ.
kèo bóng đá euro ví dụ trong phần này có thể được tìm thấy trongComplex.sqlvàphức tạp.ctrongSRC/Hướng dẫnThư mục của nguồnreadmeTệp trong
Một kèo bóng đá euro do người dùng định nghĩa phải luôn có đầu vào vàNhững chức năng này xác định cách thức
Giả sử chúng ta muốn xác định một kèo bóng đá europhức tạpđại diện cho kèo bóng đá euro số phức. Một cách tự nhiên để đại diện cho một
Typedef Struct Complex
Chúng ta sẽ cần biến điều này thành một kèo bóng đá euro tài liệu vượt qua, vì nóDatumGiá trị.
Là biểu diễn chuỗi bên ngoài của kèo bóng đá euro, chúng tôi chọn một(x, y).
kèo bóng đá euro chức năng đầu vào và đầu ra thường không khó để viết,
pg_function_info_v1 (Complex_in);
Hàm đầu ra có thể chỉ là:
pg_function_info_v1 (Complex_out);
Bạn nên cẩn thận để thực hiện kèo bóng đá euro chức năng đầu vào và đầu ra
Tùy chọn, kèo bóng đá euro do người dùng xác định có thể cung cấp đầu vào nhị phân vàphức tạp, chúng tôi sẽfloat8:
pg_function_info_v1 (Complex_Recv);
Một khi chúng tôi đã viết kèo bóng đá euro hàm I/O và biên dịch chúng thànhphức tạpkèo bóng đá euro trong SQL. Đầu tiên chúng tôi khai báo nó là kèo bóng đá euro shell:
Tạo kèo bóng đá euro phức tạp;
Điều này đóng vai trò là người giữ chỗ cho phép chúng tôi tham khảo
Tạo chức năng Complex_in (cString)FileName'FileName'FileName'FileName'
Cuối cùng, chúng tôi có thể cung cấp định nghĩa đầy đủ về dữ liệu
Tạo kèo bóng đá euro phức tạp (
Khi bạn xác định kèo bóng đá euro cơ sở mới,kèo bóng đá euroTự động cung cấp hỗ trợThe_) Chuẩn bị.
Một khi kèo bóng đá euro dữ liệu tồn tại, chúng ta có thể khai báo các chức năng bổ sung
Nếu kèo bóng đá euro giá trị của bạnkèo bóng đá euro:-Able (xemPhần 53.2). Bạn nên làmkèo bóng đá euro:cũng có thể lưu không gian trên dữ liệu nhỏ, bằng cách
Để làm điều này, đại diện nội bộ phải tuân theoChar [4]Trường không bao giờVL_LEN_). Bạn phải sử dụngset_varsize ()
Để lưu trữ kích thước của mốc thời gian trongvarsize ()
đếnpg_detoast_datum
. (Cái nàyGetArg_Datatype_P
Macros.) Sau đó,Tạo kèo bóng đá eurolệnh,Biếnvà chọn tùy chọn lưu trữ thích hợp.
Nếu căn chỉnh là không quan trọng (chỉ dành cho một cụ thểpg_detoast_datum
. Bạn có thể sử dụngpg_detoast_datum_packed
Thay vào đóGetArg_Datatype_pp
macro) và sử dụng macroVarsize_any_exhdr
vàVardata_any
Để truy cập vào một người có khả năng đóng góipg_detoast_datum
giao diện.
Lưu ý:Mã cũ thường xuyên tuyên bốVL_LEN_như mộtint32trường thay vìChar [4]. Điều này là ok vìINT32Căn chỉnh. Nhưng nó là
Để biết thêm chi tiết, hãy xem mô tả củaTạo kèo bóng đá eurolệnh.