Tham khảo tài liệu 'nhập môn db2 express – c part 10', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Nhập môn Hệ quản trị cơ sở dữ liệu DB2 189 XMLQUERY Thực thi câu truy vấn XQuery và trả về dãy kết quả XMLTABLE Thực thi câu truy vấn XQuery và kết quả trả về nếu có sẽ là một bảng quan hệ XMLCAST Ép kiểu XML Bảng - Các hàm SQL XML Những ví dụ minh họa sau sử dụng cơ sơ dữ liệu mydb mà ta đã tạo ra từ trước. Ví du 1 Giả sử bạn cần xác định tên tất cả khách hàng sống ơ một vùng nào đó có cùng mã vùng - zip . Bảng clients lưu địa chỉ khách hàng bao gồm mã vùng trong một cột XML. Sử dụng XMLEXISTS bạn tìm thấy cột dữ liệu XML phù hợp với mã vùng sau đó giới hạn lại kết quả trả về. SELECT name FROM clients WHERE xmlexists c Client Address zip 95116 passing as c Dòng đầu tiên của câu lệnh SQL nói rằng bạn muốn lấy thông tin trong cột name của bảng clients . Mệnh đề WHERE gọi hàm XMLEXISTS chỉ định rõ biểu thức XPath yêu cầu DB2 tìm phần tử zip có giá trị 95116. Mệnh đề c Client Address xác định đường dẫn bên trong cây cấu trúc của tài liệu XML để DB2 có thể tìm ra phần tử zip . .Ký tự được dùng để khai báo c là một biến. Biến c này sau đó được định nghĩa bằng câu lệnh passing as c . Trong đó clients là tên bảng và contact là tên cột có kiểu dữ liệu XML. Nói cách khác chúng ta đang đưa tài liệu XML vào biến c . DB2 kiểm tra dữ liệu XML trong cột contact duyệt từ nút Client xuống nút Address cuối cùng là nút zip và xác định xem khách hàng có sống ơ vùng có mã vùng đó không. Nếu thấy hàm XMLEXISTS trả về true và DB2 lấy ra tên khách hàng tương ứng. Ví du 2 Chúng ta suy nghĩ xem làm cách nào tạo ra được mẫu báo cáo gồm danh sách địa chỉ thư điẹn tử của những khách hàng Vàng có trạng thái Gold . Câu truy vấn dưới đây có thể giải quyết vấn đề này SELECT xmlquery c Client email passing contact as c FROM clients WHERE status Gold Dòng đầu tiên nói rằng ta muốn lấy ra phần tử là địa chỉ thư điện tử của tài liệu XML chứ không muốn lấy ra cột dữ liệu. Tương tự ví dụ trước tài liệu XML được lưu trong biến c . Trong ví dụ này hàm XMLQUERY có thể