Tạo tỷ lệ kèo bóng đá - Xác định tỷ lệ kèo bóng đá dữ liệu mới
Tạo tỷ lệ kèo bóng đátên
như ([Attribution_name
data_type
[đối chiếuđối chiếu
] [, ...]])) Tạo tỷ lệ kèo bóng đátên
như enum (['nhãn
' [, ...]]) Tạo tỷ lệ kèo bóng đátên
dưới dạng phạm vi ( Subtype =Subtype
[, SubType_OpClass =SubType_Operator_Class
] [, Đối chiếu =đối chiếu
] [, Kinh điển =Canonical_Function
] [, SubType_Diff =] [, Multirange_type_name =
Multirange_type_name
] ) Tạo tỷ lệ kèo bóng đátên
( Input =input_function
,, Đầu ra =output_function
[, nhận =nhận_function
] [, Send =send_function
] [, Typmod_in =type_modifier_input_function
] [, Typmod_out =TYPE_MODIFIER_OUTPUT_FUNCTION
] [, Phân tích =Phân tích_Function
] [, SCORSCRIPT =Subscript_Function
] [, InternalLight =InternalLights
| Biến] [, PassedByValue] [, Căn chỉnh =Căn chỉnh
] [, Lưu trữ =lưu trữ
] [, Như =like_type
] [, Danh mục =thể tỷ lệ kèo bóng đá
] [, Ưa thích =ưu tiên
] [, Mặc định =mặc định
] [, Phần tử =Element
] [, Delimiter =12733_12744
] [, Collatable =Có thể ghép
] ) Tạo tỷ lệ kèo bóng đátên
Tạo tỷ lệ kèo bóng đá
Đăng ký một kiểu dữ liệu mới để sử dụng trong cơ sở dữ liệu hiện tại. Người dùng xác định một tỷ lệ kèo bóng đá trở thành chủ sở hữu của nó.
Nếu một tên lược đồ được đưa ra thì tỷ lệ kèo bóng đá được tạo trong lược đồ được chỉ định. Nếu không, nó được tạo ra trong lược đồ hiện tại. Tên tỷ lệ kèo bóng đá phải khác biệt với tên của bất kỳ tỷ lệ kèo bóng đá hoặc tên miền nào trong cùng một lược đồ. .
Có năm hình thứcTạo tỷ lệ kèo bóng đá
, như thể hiện trong Tóm tắt Syntax ở trên. Họ tương ứng tạo mộttỷ lệ kèo bóng đá tổng hợp, anenum tỷ lệ kèo bóng đá, Atỷ lệ kèo bóng đá phạm vi, Atỷ lệ kèo bóng đá cơ sởhoặc Atỷ lệ kèo bóng đá shell. Bốn người đầu tiên trong số này được thảo luận lần lượt bên dưới. Một tỷ lệ kèo bóng đá vỏ chỉ đơn giản là một trình giữ chỗ cho một tỷ lệ kèo bóng đá được xác định sau; nó được tạo ra bằng cách phát hànhTạo tỷ lệ kèo bóng đá
Không có tham số ngoại trừ tên tỷ lệ kèo bóng đá. Các tỷ lệ kèo bóng đá shell là cần thiết như là tham chiếu chuyển tiếp khi tạo các tỷ lệ kèo bóng đá phạm vi và tỷ lệ kèo bóng đá cơ sở, như đã thảo luận trong các phần đó.
Hình thức đầu tiên củaTạo tỷ lệ kèo bóng đá
Tạo một tỷ lệ kèo bóng đá tổng hợp. tỷ lệ kèo bóng đá tổng hợp được chỉ định bởi một danh sách các tên thuộc tính và tỷ lệ kèo bóng đá dữ liệu. Đối chiếu của một thuộc tính cũng có thể được chỉ định, nếu tỷ lệ kèo bóng đá dữ liệu của nó có thể có được. Một tỷ lệ kèo bóng đá tổng hợp về cơ bản giống như tỷ lệ kèo bóng đá hàng của bảng, nhưng sử dụngTạo tỷ lệ kèo bóng đá
Tránh sự cần thiết phải tạo một bảng thực tế khi tất cả những gì mong muốn là xác định một tỷ lệ kèo bóng đá. Một tỷ lệ kèo bóng đá tổng hợp độc lập là hữu ích, ví dụ, là đối số hoặc tỷ lệ kèo bóng đá trả về của một hàm.
Để có thể tạo một tỷ lệ kèo bóng đá tổng hợp, bạn phải cósử dụng
Đặc quyền trên tất cả các tỷ lệ kèo bóng đá thuộc tính.
Mẫu thứ hai củaTạo tỷ lệ kèo bóng đá
Tạo tỷ lệ kèo bóng đá được liệt kê (enum), như được mô tả trongPhần 8.7. Các tỷ lệ kèo bóng đá enum lấy một danh sách các nhãn được trích dẫn, mỗi tỷ lệ kèo bóng đá phải nhỏ hơnĐược đặt tên
Byte dài (64 byte trong một tiêu chuẩnPostgreSQLBuild). .thay đổi tỷ lệ kèo bóng đá
.)
Hình thức thứ ba củaTạo tỷ lệ kèo bóng đá
Tạo một tỷ lệ kèo bóng đá phạm vi mới, như được mô tả trongPhần 8.17.
tỷ lệ kèo bóng đá phạm viSubType
Có thể là bất kỳ tỷ lệ kèo bóng đá nào với lớp toán tử B-cây được liên kết (để xác định thứ tự các giá trị cho tỷ lệ kèo bóng đá phạm vi). Thông thường, lớp toán tử B-cây mặc định của phân nhóm được sử dụng để xác định thứ tự; Để sử dụng lớp toán tử không mặc định, chỉ định tên của nó vớiSubType_opClass
. Nếu phân nhóm có thể va chạm và bạn muốn sử dụng đối chiếu không mặc định trong thứ tự của phạm vi, hãy chỉ định đối chiếu mong muốn vớiđối chiếu
Tùy chọn.
Tùy chọnCanonical
Hàm phải lấy một đối số của tỷ lệ kèo bóng đá phạm vi được xác định và trả về giá trị của cùng tỷ lệ kèo bóng đá. Điều này được sử dụng để chuyển đổi các giá trị phạm vi thành dạng kinh điển, khi áp dụng. Nhìn thấyPhần 8.17.8Để biết thêm thông tin. Tạo ACanonical
17119_17375Tạo tỷ lệ kèo bóng đá
, không có tham số bổ sung. Sau đó, hàm có thể được khai báo bằng cách sử dụng tỷ lệ kèo bóng đá shell làm đối số và kết quả, và cuối cùng tỷ lệ kèo bóng đá phạm vi có thể được khai báo bằng cùng tên. Điều này tự động thay thế mục nhập tỷ lệ kèo bóng đá shell bằng tỷ lệ kèo bóng đá phạm vi hợp lệ.tên
Tùy chọnSubType_Diff
Hàm phải lấy hai giá trị củaSubType
gõ là đối số và trả về ADouble Precision
Giá trị biểu thị sự khác biệt giữa hai giá trị đã cho. Mặc dù điều này là tùy chọn, cung cấp nó cho phép hiệu quả lớn hơn của các chỉ mục GIST trên các cột thuộc tỷ lệ kèo bóng đá phạm vi. Nhìn thấyPhần 8.17.8Để biết thêm thông tin.
Tùy chọnMultirange_type_name
Tham số Chỉ định tên của tỷ lệ kèo bóng đá đa tỷ lệ kèo bóng đá tương ứng. Nếu không được chỉ định, tên này được chọn tự động như sau. Nếu tên tỷ lệ kèo bóng đá phạm vi chứa chuỗi conphạm vi
, sau đó tên tỷ lệ kèo bóng đá đa dạng được hình thành bằng cách thay thếphạm vi
Multirange
18738_18826_Multirange
Hậu tố cho tên tỷ lệ kèo bóng đá phạm vi.
Mẫu thứ tư củaTạo tỷ lệ kèo bóng đá
19053_19250
Các tham số có thể xuất hiện theo bất kỳ thứ tự nào, không chỉ được minh họa ở trên, và hầu hết là tùy chọn. Bạn phải đăng ký hai hoặc nhiều chức năng (sử dụngTạo chức năng
) trước khi xác định tỷ lệ kèo bóng đá. Các chức năng hỗ trợinput_function
vàoutput_function
được yêu cầu, trong khi các chức năngnhận_function
, send_function
, type_modifier_input_function
, type_modifier_output_function
, Phân tích_Function
vàSubscript_Function
là tùy chọn. Nói chung, các chức năng này phải được mã hóa bằng C hoặc ngôn ngữ cấp thấp khác.
Theinput_function
Chuyển đổi biểu diễn văn bản bên ngoài của tỷ lệ kèo bóng đá thành biểu diễn bên trong được sử dụng bởi các toán tử và các hàm được xác định cho tỷ lệ kèo bóng đá.output_function
Thực hiện chuyển đổi ngược. Hàm đầu vào có thể được khai báo là lấy một đối số thuộc tỷ lệ kèo bóng đácString
hoặc khi thực hiện ba đối số của các tỷ lệ kèo bóng đáCSTRING
, OID
, Số nguyên
20680_20873TYPMOD
của cột đích, nếu được biết (-1 sẽ được thông qua nếu không). Hàm đầu vào phải trả về giá trị của tỷ lệ kèo bóng đá dữ liệu. Thông thường, một hàm đầu vào nên được tuyên bố nghiêm ngặt; Nếu không, nó sẽ được gọi với tham số đầu tiên của NULL khi đọc giá trị đầu vào null. Hàm vẫn phải trả về null trong trường hợp này, trừ khi nó gây ra lỗi. . Chức năng đầu ra phải trả về tỷ lệ kèo bóng đácString
. Các chức năng đầu ra không được gọi cho các giá trị null.
Tùy chọnnhận_function
Chuyển đổi biểu diễn nhị phân bên ngoài của tỷ lệ kèo bóng đá thành đại diện bên trong. Nếu chức năng này không được cung cấp, tỷ lệ kèo bóng đá không thể tham gia vào đầu vào nhị phân. Biểu diễn nhị phân nên được chọn là giá rẻ để chuyển đổi sang dạng bên trong, trong khi có thể di động hợp lý. . Chức năng nhận có thể được khai báo là lấy một đối số của tỷ lệ kèo bóng đáNội bộ
22303_22345Nội bộ
, OID
, Số nguyên
. Đối số đầu tiên là một con trỏ tớiStringInfo
Bộ đệm giữ chuỗi byte nhận được; Các đối số tùy chọn giống như đối với hàm đầu vào văn bản. Hàm nhận phải trả về một giá trị của chính tỷ lệ kèo bóng đá dữ liệu. Thông thường, một chức năng nhận nên được tuyên bố nghiêm ngặt; Nếu không, nó sẽ được gọi với tham số đầu tiên của NULL khi đọc giá trị đầu vào null. Hàm vẫn phải trả về null trong trường hợp này, trừ khi nó gây ra lỗi. .send_function
Chuyển đổi từ biểu diễn bên trong thành biểu diễn nhị phân bên ngoài. Nếu chức năng này không được cung cấp, tỷ lệ kèo bóng đá không thể tham gia vào đầu ra nhị phân. Hàm gửi phải được khai báo là lấy một đối số của kiểu dữ liệu mới. Chức năng gửi phải trả về tỷ lệ kèo bóng đábytea
. Gửi các chức năng không được gọi cho các giá trị null.
Bạn nên tự hỏi làm thế nào các hàm đầu vào và đầu ra có thể được tuyên bố là có kết quả hoặc đối số của tỷ lệ kèo bóng đá mới, khi chúng phải được tạo trước khi tỷ lệ kèo bóng đá mới có thể được tạo. Câu trả lời là tỷ lệ kèo bóng đá trước tiên phải được định nghĩa làtỷ lệ kèo bóng đá shell, là tỷ lệ kèo bóng đá trình giữ chỗ không có thuộc tính ngoại trừ tên và chủ sở hữu. Điều này được thực hiện bằng cách ban hành lệnhTạo tỷ lệ kèo bóng đá
, không có tham số bổ sung. Sau đó, các hàm C I/O có thể được xác định tham chiếu tỷ lệ kèo bóng đá shell. Cuối cùng,tên
Tạo tỷ lệ kèo bóng đá
Với định nghĩa đầy đủ thay thế cho mục nhập shell bằng định nghĩa tỷ lệ kèo bóng đá hoàn chỉnh, hợp lệ, sau đó tỷ lệ kèo bóng đá mới có thể được sử dụng bình thường.
Tùy chọntype_modifier_input_function
và24389_24420
là cần thiết nếu tỷ lệ kèo bóng đá hỗ trợ các công cụ sửa đổi, đó là các ràng buộc tùy chọn được gắn vào khai báo tỷ lệ kèo bóng đá, chẳng hạn nhưchar (5)
hoặcSố (30,2)
. PostgreSQLCho phép các tỷ lệ kèo bóng đá do người dùng xác định lấy một hoặc nhiều hằng số hoặc định danh đơn giản làm trình sửa đổi. Tuy nhiên, thông tin này phải có khả năng được đóng gói vào một giá trị số nguyên không âm duy nhất để lưu trữ trong các danh mục hệ thống. Thetype_modifier_input_function
được thông qua (các) công cụ sửa đổi được khai báo dưới dạng AcString
Mảng. Nó phải kiểm tra các giá trị cho tính hợp lệ (ném lỗi nếu chúng sai) và nếu chúng đúng, hãy trả lại một không tiêu cựcSố nguyên
Giá trị sẽ được lưu trữ dưới dạng cộtHồiTYPMODHồi. tỷ lệ kèo bóng đá sửa đổi sẽ bị từ chối nếu tỷ lệ kèo bóng đá không cótype_modifier_input_function
. Thetype_modifier_output_function
Chuyển đổi giá trị đánh máy số nguyên bên trong trở lại biểu mẫu chính xác cho màn hình người dùng. Nó phải trả về mộtcString
25679_25753Số
25784_25811(30,2)
. Nó được phép bỏ quatype_modifier_output_function
25943_26052
Tùy chọnPhân tích_Function
Thực hiện bộ sưu tập thống kê cụ thể cho các cột của kiểu dữ liệu. Theo mặc định,Phân tích
Sẽ cố gắng thu thập số liệu thống kê bằng cách sử dụng tỷ lệ kèo bóng đábằngHồivàít hơnHồitoán tử, nếu có lớp toán tử B-cây mặc định cho tỷ lệ kèo bóng đá. Đối với các tỷ lệ kèo bóng đá phi Scalar, hành vi này có thể không phù hợp, vì vậy nó có thể được ghi đè bằng cách chỉ định chức năng phân tích tùy chỉnh. Hàm phân tích phải được khai báo để lấy một đối số duy nhấtNội bộ
, và trả lại ABoolean
Kết quả. API chi tiết cho các chức năng phân tích xuất hiện trongsrc/bao gồm/lệnh/chân không.h
.
Tùy chọnSubscript_function
Cho phép tỷ lệ kèo bóng đá dữ liệu được đăng ký trong các lệnh SQL. Chỉ định chức năng này không khiến tỷ lệ kèo bóng đá được coi làTRUEHồitỷ lệ kèo bóng đá mảng; Ví dụ: nó sẽ không phải là ứng cử viên cho tỷ lệ kèo bóng đá kết quả củamảng []
Xây dựng. Nhưng nếu đăng ký một giá trị của tỷ lệ kèo bóng đá là một ký hiệu tự nhiên để trích xuất dữ liệu từ nó, thì mộtSubscript_function
27472_27591Nội bộ
, và trả vềNội bộ
Kết quả, là một con trỏ tới một cấu trúc các phương thức (chức năng) thực hiện đăng ký. API chi tiết cho các chức năng đăng ký xuất hiện trongsrc/bao gồm/nút/đăng ký.h
. Nó cũng có thể hữu ích khi đọc triển khai mảng trongSRC/Backend/Utils/ADT/Array
hoặc mã đơn giản hơn trongPREDT/HSTORE/HSTORE_SUBS.C
. Thông tin bổ sung xuất hiện trongCác tỷ lệ kèo bóng đá mảngbên dưới.
28241_28478PostgreSQL. Đầu tiên trong số này làInternalLights
. Các tỷ lệ kèo bóng đá dữ liệu cơ sở có thể được cố định độ dài, trong trường hợp đóInternalLights
là một số nguyên dương hoặc độ dài thay đổi, được biểu thị bằng cách cài đặtInternalLights
đếnBiến
. (Bên trong, điều này được biểu thị bằng cách cài đặtTyplen
đến -1.) Biểu diễn bên trong của tất cả các tỷ lệ kèo bóng đá có độ dài thay đổi phải bắt đầu với số nguyên 4 byte cho tổng độ dài của giá trị này của tỷ lệ kèo bóng đá. (Lưu ý rằng trường Độ dài thường được mã hóa, như được mô tả trongPhần 73.2; không khôn ngoan khi truy cập trực tiếp.)
Cờ tùy chọnpassedByValue
chỉ ra rằng các giá trị của tỷ lệ kèo bóng đá dữ liệu này được truyền theo giá trị, thay vì tham chiếu. Các tỷ lệ kèo bóng đá được truyền theo giá trị phải có độ dài cố định và biểu diễn bên trong của chúng không thể lớn hơn kích thước củaDatum
tỷ lệ kèo bóng đá (4 byte trên một số máy, 8 byte trên các máy khác).
TheCăn chỉnh
Tham số Chỉ định căn chỉnh lưu trữ cần thiết cho kiểu dữ liệu. Các giá trị được phép tương đương với sự liên kết trên các ranh giới byte 1, 2, 4 hoặc 8. Lưu ý rằng các tỷ lệ kèo bóng đá có độ dài biến phải có căn chỉnh ít nhất 4, vì chúng nhất thiết phải chứaINT4
Là thành phần đầu tiên của họ.
Thelưu trữ
Tham số cho phép lựa chọn các chiến lược lưu trữ cho các tỷ lệ kèo bóng đá dữ liệu có độ dài thay đổi. (Chỉ mộttrơn
được phép cho các tỷ lệ kèo bóng đá có độ dài cố định.)trơn
Chỉ định rằng dữ liệu của tỷ lệ kèo bóng đá sẽ luôn được lưu trữ nội tuyến và không được nén.mở rộng
Chỉ định rằng hệ thống trước tiên sẽ cố gắng nén giá trị dữ liệu dài và sẽ di chuyển giá trị ra khỏi hàng bảng chính nếu nó vẫn còn quá dài.bên ngoài
Cho phép giá trị được chuyển ra khỏi bảng chính, nhưng hệ thống sẽ không cố gắng nén nó.chính
Cho phép nén, nhưng không khuyến khích di chuyển giá trị ra khỏi bảng chính. .Mở rộng
vàbên ngoài
Mục.)
tất cảlưu trữ
Giá trị kháctrơn
ngụ ý rằng các hàm của kiểu dữ liệu có thể xử lý các giá trị đã đượcNướng, như được mô tả trongPhần 73.2vàPhần 38.13.131521_31708Bộ lưu trữ bộ thay đổi
.
Thelike_type
Tham số cung cấp một phương thức thay thế để chỉ định các thuộc tính biểu diễn cơ bản của kiểu dữ liệu: Sao chép chúng từ một số tỷ lệ kèo bóng đá hiện có. Các giá trị củaInternalLights
, PassedByValue
, Căn chỉnh
vàlưu trữ
được sao chép từ tỷ lệ kèo bóng đá được đặt tên. (Có thể, mặc dù thường không mong muốn, để ghi đè một số giá trị này bằng cách chỉ định chúng cùng vớinhư
32385_32503MạnhPiggybacksTrên một tỷ lệ kèo bóng đá hiện có theo một số kiểu.
Thethể tỷ lệ kèo bóng đá
vàưu tiên
Các tham số có thể được sử dụng để giúp kiểm soát diễn viên ngầm sẽ được áp dụng trong các tình huống mơ hồ. Mỗi tỷ lệ kèo bóng đá dữ liệu thuộc về một danh mục được đặt tên bởi một ký tự ASCII và mỗi tỷ lệ kèo bóng đá làưu tiênhoặc không trong danh mục của nó. Trình phân tích cú pháp sẽ thích đúc theo các tỷ lệ kèo bóng đá ưa thích (nhưng chỉ từ các tỷ lệ kèo bóng đá khác trong cùng một danh mục) khi quy tắc này hữu ích trong việc giải quyết các chức năng hoặc toán tử quá tải. Để biết thêm chi tiết, xemChương 10. Đối với các tỷ lệ kèo bóng đá không có diễn viên ngầm đến hoặc từ bất kỳ tỷ lệ kèo bóng đá nào khác, nó là đủ để để các cài đặt này theo mặc định. Tuy nhiên, đối với một nhóm các tỷ lệ kèo bóng đá liên quan có diễn viên ngầm, thường hữu ích khi đánh dấu tất cả chúng là thuộc về một danh mục và chọn một hoặc hai trong sốTổng quát nhấtCác tỷ lệ kèo bóng đá được ưa thích trong danh mục. The33751_33761
Tham số đặc biệt hữu ích khi thêm tỷ lệ kèo bóng đá do người dùng xác định vào danh mục tích hợp hiện có, chẳng hạn như các tỷ lệ kèo bóng đá số hoặc chuỗi. Tuy nhiên, cũng có thể tạo các tỷ lệ kèo bóng đá tỷ lệ kèo bóng đá hoàn toàn mới được xác định. Chọn bất kỳ ký tự ASCII nào khác ngoài chữ cái trong trường hợp trên để đặt tên cho một danh mục như vậy.
34085_34247Mặc định
Từ khóa. (Một mặc định như vậy có thể được ghi đè bởi một rõ ràngMặc định
mệnh đề được gắn vào một cột cụ thể.)
Để chỉ ra rằng một tỷ lệ kèo bóng đá là tỷ lệ kèo bóng đá mảng có độ dài cố định, chỉ định tỷ lệ kèo bóng đá của các phần tử mảng bằng cách sử dụngElement
Từ khóa. Ví dụ: để xác định một mảng số nguyên 4 byte (INT4
), Chỉ địnhElement = int4
. Để biết thêm chi tiết, xemCác tỷ lệ kèo bóng đá mảngbên dưới.
Để chỉ ra dấu phân cách được sử dụng giữa các giá trị trong biểu diễn bên ngoài của các mảng thuộc tỷ lệ kèo bóng đá này,Delimiter
có thể được đặt thành một ký tự cụ thể. DELIMITER mặc định là dấu phẩy (,
). Lưu ý rằng dấu phân cách được liên kết với tỷ lệ kèo bóng đá phần tử mảng, không phải tỷ lệ kèo bóng đá mảng.
Nếu tham số boolean tùy chọncó thể ghép
là đúng, định nghĩa cột và biểu thức của tỷ lệ kèo bóng đá có thể mang thông tin đối chiếu thông qua việc sử dụngđối chiếu
mệnh đề. Tùy thuộc vào việc triển khai các chức năng hoạt động trên tỷ lệ kèo bóng đá để thực sự sử dụng thông tin đối chiếu; Điều này không xảy ra tự động chỉ bằng cách đánh dấu tỷ lệ kèo bóng đá có thể có được.
Bất cứ khi nào một tỷ lệ kèo bóng đá do người dùng xác định,PostgreSQL35856_36032Được đặt tên
Byte dài. .mảng_in
vàArray_out
. Hơn nữa, tỷ lệ kèo bóng đá này là những gì hệ thống sử dụng cho các cấu trúc nhưmảng []
qua tỷ lệ kèo bóng đá do người dùng xác định. tỷ lệ kèo bóng đá mảng theo dõi mọi thay đổi trong chủ sở hữu hoặc lược đồ của tỷ lệ kèo bóng đá thành phần của nó và bị tỷ lệ kèo bóng đá bỏ nếu tỷ lệ kèo bóng đá phần tử là.
Bạn có thể hỏi một cách hợp lý lý do tại sao cóElement
tùy chọn, nếu hệ thống tự động thực hiện tỷ lệ kèo bóng đá mảng chính xác. Trường hợp chính mà nó hữu ích để sử dụngElement
là khi bạn đang tạo một tỷ lệ kèo bóng đá có độ dài cố định, đó là một loạt các điều giống hệt nhau và bạn muốn cho phép những điều này được truy cập trực tiếp bằng cách đăng ký, ngoài bất kỳ hoạt động nào bạn dự định cung cấp cho toàn bộ tỷ lệ kèo bóng đá. Ví dụ: gõđiểm
được biểu diễn dưới dạng hai số điểm nổi, có thể được truy cập bằng cách sử dụngđiểm [0]
vàĐiểm [1]
. Lưu ý rằng cơ sở này chỉ hoạt động cho các tỷ lệ kèo bóng đá có độ dài cố định có dạng bên trong chính xác là một chuỗi các trường có độ dài cố định giống hệt nhau. Vì lý do lịch sử (nghĩa là, điều này rõ ràng là sai nhưng đã quá muộn để thay đổi nó), việc đăng ký các tỷ lệ kèo bóng đá mảng có độ dài cố định bắt đầu từ số 0, thay vì từ một mảng có độ dài thay đổi.
Chỉ địnhSCORSTION
Tùy chọn cho phép tỷ lệ kèo bóng đá dữ liệu được đăng ký, mặc dù hệ thống không coi nó là tỷ lệ kèo bóng đá mảng. Hành vi vừa được mô tả cho các mảng có độ dài cố định thực sự được thực hiện bởiSCORSTIP
Handler HàmRAW_ARRAY_SUBSCRIPT_HANDLER
, được sử dụng tự động nếu bạn chỉ địnhElement
Đối với tỷ lệ kèo bóng đá có độ dài cố định mà không viếtĐăng ký
.
38239_38266SCORSTION
Hàm, không cần thiết phải chỉ địnhElement
trừ khiĐăng ký
Chức năng xử lý cần tham khảo ý kiếnTypelem
Để tìm hiểu những gì sẽ trở lại. Hãy biết rằng chỉ địnhElement
khiến hệ thống cho rằng tỷ lệ kèo bóng đá mới chứa hoặc bằng cách nào đó phụ thuộc vào vật lý vào tỷ lệ kèo bóng đá phần tử; Do đó, ví dụ như thay đổi thuộc tính của tỷ lệ kèo bóng đá phần tử sẽ không được phép nếu có bất kỳ cột nào thuộc tỷ lệ kèo bóng đá phụ thuộc.
tên
Tên (tùy chọn Lược đồ theo trình độ) của một tỷ lệ kèo bóng đá sẽ được tạo.
Attribution_name
Tên của thuộc tính (cột) cho tỷ lệ kèo bóng đá tổng hợp.
data_type
Tên của một tỷ lệ kèo bóng đá dữ liệu hiện có để trở thành một cột của tỷ lệ kèo bóng đá tổng hợp.
đối chiếu
Tên của một đối chiếu hiện có được liên kết với một cột của một tỷ lệ kèo bóng đá tổng hợp hoặc với một tỷ lệ kèo bóng đá phạm vi.
nhãn
Một chuỗi theo nghĩa đen đại diện cho nhãn văn bản được liên kết với một giá trị của một tỷ lệ kèo bóng đá enum.
SubType
Tên của tỷ lệ kèo bóng đá phần tử mà tỷ lệ kèo bóng đá phạm vi sẽ đại diện cho phạm vi của.
SubType_Operator_Class
Tên của lớp toán tử B-cây cho phân nhóm.
Canonical_Function
Tên của hàm Canonicalization cho tỷ lệ kèo bóng đá phạm vi.
SubType_Diff_Function
Tên của hàm khác biệt cho phân nhóm.
Multirange_type_name
Tên của tỷ lệ kèo bóng đá đa tỷ lệ kèo bóng đá tương ứng.
input_function
Tên của hàm chuyển đổi dữ liệu từ dạng văn bản bên ngoài của tỷ lệ kèo bóng đá thành dạng bên trong của nó.
output_function
Tên của hàm chuyển đổi dữ liệu từ dạng bên trong của tỷ lệ kèo bóng đá thành dạng văn bản bên ngoài của nó.
nhận_function
Tên của hàm chuyển đổi dữ liệu từ dạng nhị phân bên ngoài của tỷ lệ kèo bóng đá thành dạng bên trong của nó.
Send_Function
41961_42063
type_modifier_input_function
42220_42315
type_modifier_output_function
Tên của hàm chuyển đổi dạng bên trong của (các) công cụ sửa đổi của tỷ lệ kèo bóng đá thành dạng văn bản bên ngoài.
Phân tích_Function
Tên của hàm thực hiện phân tích thống kê cho kiểu dữ liệu.
Subscript_function
Tên của hàm xác định đăng ký giá trị của kiểu dữ liệu.
InternalLights
Một hằng số số chỉ định độ dài tính theo byte của biểu diễn nội bộ của tỷ lệ kèo bóng đá mới. Giả định mặc định là nó có độ dài thay đổi.
Căn chỉnh
Yêu cầu căn chỉnh lưu trữ của kiểu dữ liệu. Nếu được chỉ định, nó phải làchar
, INT2
, INT4
hoặcDouble
; Mặc định làINT4
.
lưu trữ
Chiến lược lưu trữ cho kiểu dữ liệu. Nếu được chỉ định, phải làtrơn
, bên ngoài
, mở rộng
44053_4406044080_44086
; Mặc định làtrơn
.
like_type
Tên của một tỷ lệ kèo bóng đá dữ liệu hiện có mà tỷ lệ kèo bóng đá mới sẽ có cùng một biểu diễn như. Các giá trị củaInternalLights
, passedByValue
, Căn chỉnh
vàlưu trữ
được sao chép từ tỷ lệ kèo bóng đá đó, trừ khi được ghi đè bởi thông số kỹ thuật rõ ràng ở nơi khác trong nàyTạo tỷ lệ kèo bóng đá
lệnh.
thể tỷ lệ kèo bóng đá
Mã danh mục (một ký tự ASCII duy nhất) cho tỷ lệ kèo bóng đá này. Mặc định là'U'
chotỷ lệ kèo bóng đá do người dùng xác địnhHồi. Các mã danh mục tiêu chuẩn khác có thể được tìm thấy trongBảng 53,65. Bạn cũng có thể chọn các ký tự ASCII khác để tạo các danh mục tùy chỉnh.
ưu tiên
Đúng nếu tỷ lệ kèo bóng đá này là tỷ lệ kèo bóng đá ưa thích trong tỷ lệ kèo bóng đá tỷ lệ kèo bóng đá của nó, khác. Mặc định là sai. Hãy rất cẩn thận về việc tạo một tỷ lệ kèo bóng đá ưa thích mới trong một tỷ lệ kèo bóng đá tỷ lệ kèo bóng đá hiện có, vì điều này có thể gây ra những thay đổi đáng ngạc nhiên trong hành vi.
Mặc định
Giá trị mặc định cho kiểu dữ liệu. Nếu điều này bị bỏ qua, mặc định là null.
Element
tỷ lệ kèo bóng đá được tạo là một mảng; Điều này chỉ định tỷ lệ kèo bóng đá phần tử mảng.
Delimiter
ký tự phân cách được sử dụng giữa các giá trị trong các mảng được làm từ tỷ lệ kèo bóng đá này.
có thể ghép
Đúng nếu hoạt động của tỷ lệ kèo bóng đá này có thể sử dụng thông tin đối chiếu. Mặc định là sai.
46720_47120bí mậtThông tin sẽ được sử dụng trong khi chuyển đổi nó thành hoặc từ hình thức bên ngoài.
trướcPostgreSQL47311_47436_
) Chuẩn bị. . Do đó, viết mã phụ thuộc vào quy ước này. Thay vào đó, sử dụngPG_TYPE
.TYPARRAY
Để định vị tỷ lệ kèo bóng đá mảng được liên kết với một tỷ lệ kèo bóng đá đã cho.
Có thể nên tránh sử dụng tên tỷ lệ kèo bóng đá và bảng bắt đầu bằng dấu gạch dưới. Mặc dù máy chủ sẽ thay đổi tên tỷ lệ kèo bóng đá mảng được tạo để tránh va chạm với tên người dùng, nhưng vẫn có nguy cơ nhầm lẫn, đặc biệt là phần mềm khách hàng cũ có thể cho rằng tên tỷ lệ kèo bóng đá bắt đầu với dấu gạch dưới luôn đại diện cho các mảng.
trướcPostgreSQLPhiên bản 8.2, Cú pháp tạo kiểu vỏTạo tỷ lệ kèo bóng đá
Không tồn tại. Cách để tạo một tỷ lệ kèo bóng đá cơ sở mới là tạo chức năng đầu vào của nó trước tiên. Trong cách tiếp cận này,PostgreSQLTrước tiên sẽ xem tên của tỷ lệ kèo bóng đá dữ liệu mới là tỷ lệ kèo bóng đá trả về của hàm đầu vào. tỷ lệ kèo bóng đá vỏ được tạo ra hoàn toàn trong tình huống này, và sau đó nó có thể được tham chiếu trong các định nghĩa của các hàm I/O còn lại. Cách tiếp cận này vẫn hoạt động, nhưng không được chấp nhận và có thể không được phép trong một số phát hành trong tương lai. Ngoài ra, để tránh vô tình làm lộn xộn các danh mục với các tỷ lệ kèo bóng đá shell do lỗi chính tả đơn giản trong các định nghĩa chức năng, một tỷ lệ kèo bóng đá shell sẽ chỉ được thực hiện theo cách này khi hàm đầu vào được viết bằng C.tên
Ví dụ này tạo ra một tỷ lệ kèo bóng đá tổng hợp và sử dụng nó trong một định nghĩa hàm:
Tạo tỷ lệ kèo bóng đá compfoo AS (F1 int, F2 văn bản); Tạo hàm getfoo () trả về setof compfoo dưới dạng $$ Chọn Fooid, Fooname từ Foo $$ Ngôn ngữ SQL;
Ví dụ này tạo ra một tỷ lệ kèo bóng đá được liệt kê và sử dụng nó trong một định nghĩa bảng:
tạo tỷ lệ kèo bóng đá bug_status dưới dạng enum ('mới', 'mở', 'đóng'); Tạo lỗi bảng ( id serial, mô tả văn bản, trạng thái bug_status );
Ví dụ này tạo ra một tỷ lệ kèo bóng đá phạm vi:
Tạo tỷ lệ kèo bóng đá float8_range dưới dạng phạm vi (phân nhóm = float8, subtype_diff = float8mi);
Ví dụ này tạo ra kiểu dữ liệu cơ sởBox
và sau đó sử dụng tỷ lệ kèo bóng đá trong định nghĩa bảng:
Tạo hộp tỷ lệ kèo bóng đá; Tạo chức năng my_box_in_function (cString) trả về hộp như ...; Tạo hàm my_box_out_function (hộp) trả về cString là ...; Tạo hộp tỷ lệ kèo bóng đá ( InterlitalLight = 16, Input = my_box_in_function, Đầu ra = my_box_out_function ); Tạo bảng myboxes ( ID Số nguyên, Hộp mô tả );
Nếu cấu trúc bên trong củaBox
là một mảng gồm bốnfloat4
Các yếu tố, thay vào đó chúng ta có thể sử dụng:
Tạo hộp tỷ lệ kèo bóng đá ( InterlitalLight = 16, Input = my_box_in_function, Output = my_box_out_function, Phần tử = float4 );
cho phép các số thành phần của giá trị hộp được truy cập bằng cách đăng ký. Nếu không thì tỷ lệ kèo bóng đá hoạt động giống như trước đây.
Ví dụ này tạo ra một tỷ lệ kèo bóng đá đối tượng lớn và sử dụng nó trong một định nghĩa bảng:
Tạo tỷ lệ kèo bóng đá bigobj ( Input = lo_filein, output = lo_fileout, InternalLights = Biến ); Tạo bảng BIG_OBJS ( ID Số nguyên, obj bigobj );
51210_51281Phần 38.13.
Hình thức đầu tiên củaTạo tỷ lệ kèo bóng đá
lệnh, tạo ra một tỷ lệ kèo bóng đá tổng hợp, phù hợp vớiSQL51641_51674POSTGRESQLTiện ích mở rộng. TheTạo tỷ lệ kèo bóng đá
câu lệnh trongSQLTiêu chuẩn cũng xác định các hình thức khác không được triển khai trongPOSTGRESQL.
Khả năng tạo tỷ lệ kèo bóng đá tổng hợp với các thuộc tính bằng không làPostgreSQL-Specific độ lệch so với tiêu chuẩn (tương tự với cùng một trường hợp trongTạo bảng
).
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không phù hợp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.