Lưu ý:Điều này phải trở thành một chương về hành vi kèo bóng đá pháp. Tình nguyện viên? -Thomas 1998-01-12
Postgrescho phép các thuộc tính của A lớp được định nghĩa là kèo bóng đá pháp đa chiều có độ dài thay đổi. Các kèo bóng đá pháp thuộc bất kỳ loại tích hợp hoặc loại do người dùng xác định có thể được tạo. ĐẾN Minh họa việc sử dụng chúng, chúng tôi tạo lớp này:
Tạo bảkèo bóng đá pháp SAL_EMP ( tên văn bản, pay_by_quarter int4 [], Lịch trình văn bản [] [] );
Truy vấn trên sẽ tạo một lớp có tênSAL_EMPvới ATextChuỗi (Tên), một kèo bóng đá pháp một chiều củaINT4(pay_by_quarter), đại diện cho tiền lương của nhân viên bằng cách quý và một kèo bóng đá pháp hai chiều củaText(lịch), đại diện cho nhân viên Lịch trình hàkèo bóng đá pháp tuần. Bây giờ chúkèo bóng đá pháp tôi làm một sốChèns; Lưu ý rằng khi nối vào một kèo bóng đá pháp, chúng tôi sẽ gửi các giá trị bên trong Niềng răng và tách chúng bằng dấu phẩy. Nếu bạn biếtC, Điều này khôkèo bóng đá pháp giốkèo bóng đá pháp với cú pháp để khởi tạo cấu trúc.
Chèn vào sal_emp Giá trị ('hóa đơn', '10000, 10000, 10000, 10000', '"cuộc họp", "Ăn trưa", '); Chèn vào SAL_EMP Giá trị ('carol', '2000, 25000, 25000, 25000', '"talk", "tham khảo", "cuộc họp"');Bây giờ, chúng ta có thể chạy một số truy vấn trên sal_emp. Đầu tiên, chúng tôi chỉ ra cách Để truy cập một phần tử duy nhất của một kèo bóng đá pháp tại một thời điểm. Truy vấn này lấy tên của các nhân viên có tiền lương đã thay đổi trong quý thứ hai:
Chọn tên từ Sal_emp trong đó pay_by_quarter [1] < pay_by_quarter [2]; tên ------- Carol (1 hàkèo bóng đá pháp)PostgresSử dụng quy ước đánh số "một dựa trên" cho các kèo bóng đá pháp --- nghĩa là một kèo bóng đá pháp của n phần tử bắt đầu bằng kèo bóng đá pháp [1] và kết thúc bằng kèo bóng đá pháp [n].
Truy vấn này lấy tiền lươkèo bóng đá pháp quý thứ ba của tất cả nhân viên:
Chọn pay_by_quarter [3] từ sal_emp; pay_by_quarter ---------------- 10000 25000 (2 hàkèo bóng đá pháp)
Chúng ta cũng có thể truy cập các lát cắt tùy ý của một kèo bóng đá pháp hoặc subarrays. Một lát kèo bóng đá pháp được biểu thị bằng cách viết "Sổ số dưới: trên Chỉ số "cho một hoặc nhiều kích thước kèo bóng đá pháp. Truy vấn này lấy Mục đầu tiên trong lịch trình của Bill trong hai ngày đầu tiên của tuần:
Chọn Lịch trình [1: 2] [1: 1] từ SAL_EMP trong đó Tên = 'Bill'; lịch trình -------------------- "cuộc họp",""Chúkèo bóng đá pháp tôi cũkèo bóng đá pháp có thể đã viết
Chọn Lịch trình [1: 2] [1] từ SAL_EMP WHERE Tên = 'Bill';Với cùkèo bóng đá pháp một kết quả.
Một giá trị kèo bóng đá pháp có thể được thay thế hoàn toàn:
CẬP NHẬT SAL_EMP SET PAY_BY_QUARTER = '25000,25000,27000,27000' Tên where = 'carol';hoặc được cập nhật tại một mục nhập:
CẬP NHẬT SAL_EMP SET PAY_BY_QUARTER [4] = 15000 Tên where = 'bill';hoặc được cập nhật trong một lát:
CẬP NHẬT SAL_EMP SET PAY_BY_QUARTER [1: 2] = '27000,27000' Tên where = 'carol';
Hiện tại không thể thay đổi giá trị kèo bóng đá pháp ngoại trừ hoàn thành thay thế; Ví dụ: chúng tôi không thể thay đổi bốn- giá trị kèo bóng đá pháp phần tử thành giá trị năm phần tử với một gán cho kèo bóng đá pháp [5].
Cú pháp để tạo bảng cho phép các kèo bóng đá pháp có độ dài cố định được xác định:
Tạo bảkèo bóng đá pháp Tictactoe ( Squares Int4 [3] [3] );Tuy nhiên, việc triển khai hiện tại không thực thi giới hạn kích thước kèo bóng đá pháp --- hành vi giống như các kèo bóng đá pháp của Độ dài không xác định.