Phiên bản được hỗ trợ:hiện tại(17)16 / 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

D.3. Giới hạn kèo bóng đá hom nay và phù hợp với SQL/kèo bóng đá hom nay#

Sửa đổi quan trọng đối với các thông số kỹ thuật liên quan đến kèo bóng đá hom nay trong ISO/IEC 9075-14 (SQL/kèo bóng đá hom nay) đã được giới thiệu với SQL: 2006.PostgreSQL8757_8917

  • Trong đó tiêu chuẩn hiện tại cung cấp một họ các loại dữ liệu kèo bóng đá hom nay để giữtài liệuKhănhoặcNội dungHồi9251_9306kèo bóng đá hom nay (chuỗi)Để giữ các phần nội dung kèo bóng đá hom nay tùy ý,PostgreSQLCung cấp đơnkèo bóng đá hom nayLoại, có thể giữHồitài liệuHồihoặcNội dungHồi. Không có tương đương kèo bóng đá hom nay tiêu chuẩnHồichuỗixôngloại.

  • PostgreSQLCung cấp hai hàm được giới thiệu trong SQL: 2006, nhưng trong các biến thể sử dụng ngôn ngữ XPath 1.0, thay vì truy vấn kèo bóng đá hom nay như được chỉ định cho chúng trong tiêu chuẩn.

Phần này trình bày một số khác biệt kết quả mà bạn có thể gặp phải.

D.3.1. Truy vấn được giới hạn ở XPath 1.0#

ThePostgreSQL-Specific Chức năngxpath ()xpath_exists ()Tài liệu kèo bóng đá hom nay truy vấn bằng ngôn ngữ XPath.PostgreSQLCũng cung cấp kèo bóng đá hom nay biến thể chỉ dành cho XPath của kèo bóng đá hom nay hàm tiêu chuẩnXmlexistXMLTable, chính thức sử dụng ngôn ngữ XQuery. Đối kèo bóng đá hom nay tất cả các chức năng này,PostgreSQLdựa kèo bóng đá hom nayolibxml2Thư viện chỉ cung cấp XPath 1.0.

Có một kết nối mạnh mẽ giữa ngôn ngữ XQuery và các phiên bản XPath 2.0 trở lên: bất kỳ biểu thức nào có giá trị về mặt cú pháp và thực hiện thành công trong cả hai tạo ra kết quả tương tự (kèo bóng đá hom nay một ngoại lệ nhỏ cho các biểu thức chứa các tham chiếu ký tự hoặc thực thể được xác định trước. Nhưng không có kết nối như vậy giữa các ngôn ngữ này và XPath 1.0;

Có hai loại giới hạn cần ghi nhớ: Hạn chế từ XQuery sang XPath cho các chức năng được chỉ định trong tiêu chuẩn SQL và hạn chế XPath đối kèo bóng đá hom nay phiên bản 1.0 cho cả tiêu chuẩn vàPostgreSQL-Specific Chức năng.

D.3.1.1. Hạn chế XQuery thành XPath#

kèo bóng đá hom nay tính năng của XQuery ngoài kèo bóng đá hom nay tính năng của XPath bao gồm:

  • Các biểu thức XQuery có thể xây dựng và trả về các nút kèo bóng đá hom nay mới, ngoài tất cả các giá trị XPath có thể. XPath có thể tạo và trả về các giá trị của các loại nguyên tử (số, chuỗi, v.v.) nhưng chỉ có thể trả về các nút kèo bóng đá hom nay đã có trong các tài liệu được cung cấp làm đầu vào cho biểu thức.

  • XQuery có kèo bóng đá hom nay cấu trúc điều khiển để lặp, sắp xếp và nhóm.

  • XQuery cho phép khai báo và sử dụng kèo bóng đá hom nay chức năng cục bộ.

Phiên bản XPath gần đây bắt đầu cung cấp các khả năng chồng chéo kèo bóng đá hom nay các phiên bản này (chẳng hạn như kiểu chức năngfor-achSắp xếp, Chức năng ẩn danh vàparse-kèo bóng đá hom nayĐể tạo một nút từ chuỗi), nhưng kèo bóng đá hom nay tính năng như vậy không có sẵn trước XPath 3.0.

D.3.1.2. Hạn chế XPath là 1.0#

Đối kèo bóng đá hom nay các nhà phát triển quen thuộc kèo bóng đá hom nay XQuery và XPath 2.0 trở lên, XPath 1.0 trình bày một số khác biệt để tranh cãi kèo bóng đá hom nay:

  • Loại cơ bản của biểu thức XQuery/XPath,chuỗi, có thể chứa các nút kèo bóng đá hom nay, giá trị nguyên tử hoặc cả hai, không tồn tại trong XPath 1.0. Biểu thức 1.0 chỉ có thể tạo ra một bộ nút (chứa các nút kèo bóng đá hom nay hoặc nhiều hơn) hoặc một giá trị nguyên tử duy nhất.

  • 14255_14466

    Lưu ý

    Thelibxml2Thư viện dường như luôn trả lại kèo bóng đá hom nay bộ nút thànhPostgreSQLVới các thành viên của họ theo cùng một thứ tự tương đối họ có trong tài liệu đầu kèo bóng đá hom nayo. Tài liệu của nó không cam kết với hành vi này và biểu thức XPath 1.0 không thể kiểm soát nó.

  • Trong khi XQuery/XPath cung cấp tất cả các loại được xác định trong lược đồ kèo bóng đá hom nay và nhiều toán tử và chức năng trên các loại đó, XPath 1.0 chỉ có bộ nút và ba loại nguyên tửBoolean, Doublechuỗi.

  • XPath 1.0 không có toán tử có điều kiện. Biểu thức xquery/xpath nhưif (mũ) thì mũ/@kích thước khác "Không mũ"không có XPath 1.0 tương đương.

  • XPath 1.0 không có toán tử so sánh đặt hàng cho chuỗi. Cả hai"Cat" <"Dog""Cat" "Dog"là sai, bởi vì mỗi cái là một so sánh số của haiNANs. Ngược lại,=! =Làm so sánh kèo bóng đá hom nay chuỗi là chuỗi.

  • XPath 1.0 làm mờ sự khác biệt giữaso sánh giá trịSo sánh chungnhư XQuery/XPath xác định chúng. Cả haiSALE/@HATSIZE = 7SALE/@client = "Alice"là kèo bóng đá hom nay so sánh được định lượng tồn tại, đúng nếu cóSALEkèo bóng đá hom nay giá trị đã cho cho thuộc tính, nhưngSALE/@Taxable = false ()là so sánh giá trị kèo bóng đá hom nayGiá trị Boolean hiệu quảcủa toàn bộ bộ nút. Nó chỉ đúng nếu khôngSALEcó Achịu thuếthuộc tính.

  • Trong mô hình dữ liệu XQuery/XPath, ANút tài liệuCó thể có biểu mẫu tài liệu (nghĩa là, chính xác là một yếu tố cấp cao nhất, chỉ có nhận xét và hướng dẫn xử lý bên ngoài nó) hoặc biểu mẫu nội dung (kèo bóng đá hom nay các ràng buộc đó được nới lỏng). Nó tương đương trong XPath 1.0,Nút gốc, chỉ có thể ở dạng tài liệu. Đây là một phần lý dokèo bóng đá hom nayGiá trị được truyền dưới dạng mục ngữ cảnh cho bất kỳPostgreSQLHàm dựa trên XPath phải ở dạng tài liệu.

Sự khác biệt được tô sáng ở đây không phải là tất cả chúng. Trong XQuery và kèo bóng đá hom nay phiên bản 2.0 trở lên của XPath, có chế độ tương thích XPath 1.0 và danh sách W3C củaThay đổi thư viện chức năngThay đổi ngôn ngữÁp dụng trong chế độ đó cung cấp một tài khoản đầy đủ hơn (nhưng vẫn không đầy đủ) về sự khác biệt. Chế độ tương thích không thể làm cho các ngôn ngữ sau này tương đương kèo bóng đá hom nay XPath 1.0.

D.3.1.3. Ánh xạ giữa các loại dữ liệu SQL và kèo bóng đá hom nay và giá trị#

Trong SQL: 2006 trở lên, cả hai hướng chuyển đổi giữa các loại dữ liệu SQL tiêu chuẩn và các loại lược đồ kèo bóng đá hom nay được chỉ định chính xác. Tuy nhiên, các quy tắc được thể hiện bằng cách sử dụng các loại và ngữ nghĩa của XQuery/XPath và không có ứng dụng trực tiếp vào mô hình dữ liệu khác nhau của XPath 1.0.

KhiPostgreSQLBản đồ giá trị dữ liệu SQL thành kèo bóng đá hom nay (như trongxmlelement) hoặc kèo bóng đá hom nay thành SQL (như trong các cột đầu ra củaxmltable), ngoại trừ một kèo bóng đá hom nayi trường hợp được xử lý đặc biệt,POSTGRESQLChỉ cần giả sử rằng biểu mẫu chuỗi XPath 1.0 của loại dữ liệu kèo bóng đá hom nay sẽ hợp lệ như dạng đầu vào văn bản của kiểu dữ liệu SQL và ngược lại. Quy tắc này có đức tính đơn giản trong khi sản xuất, đối với nhiều loại dữ liệu, kết quả tương tự như các ánh xạ được chỉ định trong tiêu chuẩn.

Trường hợp khả năng tương tác kèo bóng đá hom nay các hệ thống khác là một mối quan tâm, đối kèo bóng đá hom nay một số loại dữ liệu, có thể cần phải sử dụng các chức năng định dạng kiểu dữ liệu (chẳng hạn như trongPhần 9.8) rõ ràng để tạo ra kèo bóng đá hom nay ánh xạ tiêu chuẩn.

D.3.2. Giới hạn ngẫu nhiên của việc thực hiện#

Phần này liên quan đến kèo bóng đá hom nay giới hạn không vốn có tronglibxml2Thư viện, nhưng áp dụng cho việc triển khai hiện tại trongPostgreSQL.

D.3.2.1. Chỉ mộttheo giá trịCơ chế vượt qua được hỗ trợ#

Tiêu chuẩn SQL xác định haikèo bóng đá hom nay cơ chế vượt quaÁp dụng khi chuyển đối số kèo bóng đá hom nay từ SQL sang chức năng kèo bóng đá hom nay hoặc nhận kết quả:bởi ref, trong đó giá trị kèo bóng đá hom nay cụ thể vẫn giữ được danh tính nút của nó vàtheo giá trị, trong đó nội dung của kèo bóng đá hom nay được truyền nhưng nhận dạng nút không được bảo tồn. Một cơ chế có thể được chỉ định trước danh sách các tham số, là cơ chế mặc định cho tất cả chúng hoặc sau bất kỳ tham số nào, để ghi đè mặc định.

Để minh họa sự khác biệt, nếuxlà giá trị kèo bóng đá hom nay, hai truy vấn này trong môi trường SQL: 2006 sẽ tạo ra đúng và sai, tương ứng:

Chọn XmlQuery ('$ a là $ b' đi qua refxnhư a,xnhư b null trên trống);xnhư a,xnhư b null trên trống);

PostgreSQLsẽ chấp nhậntheo giá trịhoặcbởi reftrong mộtXmlexisthoặcxmltableXây dựng, nhưng nó bỏ qua chúng. Thekèo bóng đá hom nay21810_21951theo giá trị.

D.3.2.2. Không thể chuyển kèo bóng đá hom nay tham số được đặt tên cho kèo bóng đá hom nay truy vấn#

Hỗ trợ kèo bóng đá hom nay hàm dựa trên XPath Truyền một tham số để đóng vai trò là mục ngữ cảnh của biểu thức XPath, nhưng không hỗ trợ truyền kèo bóng đá hom nay giá trị bổ sung có sẵn cho biểu thức như kèo bóng đá hom nay tham số được đặt tên.

D.3.2.3. KHÔNGkèo bóng đá hom nay (trình tự)loại#

ThePostgreSQL kèo bóng đá hom nayKiểu dữ liệu chỉ có thể giữ một giá trị trongtài liệuhoặcNội dungMẫu. Mục ngữ cảnh biểu thức XQuery/XPath phải là một nút kèo bóng đá hom nay hoặc giá trị nguyên tử, nhưng XPath 1.0 giới hạn nó chỉ là một nút kèo bóng đá hom nay và không có loại nút cho phépNội dung. Kết quả là mộtDocumentlà dạng duy nhất của giá trị kèo bóng đá hom nay màPostgreSQLCó thể cung cấp dưới dạng mục ngữ cảnh XPath.

Gửi hiệu chỉnh

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 khớpMẫu nàyĐể báo cáo vấn đề tài liệu.