Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
​​Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

Chương 5. Nâng cao토토 결과 SQLtính năng

Đã bao gồm những điều cơ bản của việc sử dụng토토 결과 SQLđến Truy cập dữ liệu của bạn, bây giờ chúng tôi sẽ thảo luận về các tính năng của토토 결과Phân biệt nó từ các nhà quản lý dữ liệu thông thường. Những tính năng này bao gồm di truyền, du hành thời gian và giá trị dữ liệu không nguyên tử (mảng và Các thuộc tính có giá trị đặt). Ví dụ trong phần này cũng có thể là tìm thấy trongAdvance.sqlTrong hướng dẫn Thư mục. (Tham khảoPostgreSQL : 문서 : 7.1 : 토토 핫 언어cho cách thức sử dụng nó.)

5.1. Kế thừa

Hãy tạo hai bảng. Bảng thủ đô chứa trạng thái Thủ đô cũng là thành phố. Đương nhiên, bảng Thủ đô nên kế thừa từ các thành phố.

Tạo các thành phố bảng (
    tên văn bản,
    dân số thực,
    độ cao int - (tính bằng ft)
);

Tạo bảng xếp hạng (
    Nhà nước Char (2)
) Kế thừa (thành phố);
Trong trường hợp này, một hàng thủ đôkế thừaTất cả các cột (tên, dân số và độ cao) từ cha mẹ của nó, thành phố. Loại tên cột làText, bản địa토토 결과Loại cho độ dài thay đổi ASCII chuỗi. Loại dân số cột làReal, một loại cho điểm nổi chính xác đơn lẻ số. Thủ đô trạng thái có thêm một cột, trạng thái, hiển thị trạng thái của họ. TRONG토토 결과, một bảng có thể kế thừa từ số 0 hoặc nhiều bảng khác và một truy vấn có thể Tham chiếu tất cả các hàng của bảng hoặc tất cả các hàng của một bảng cộng với tất cả con cháu của nó.

Lưu ý:Phân cấp kế thừa là một hướng dẫn đồ thị acyclic.

Ví dụ: truy vấn sau tìm thấy tên của tất cả các thành phố, bao gồm cả thủ đô nhà nước, được đặt tại một độ cao trên 500ft:

Chọn tên, độ cao
    Từ các thành phố
    Nơi độ cao 500;
Trở lại:
+----------+----------+
| Tên | độ cao |
+----------+----------+
| Las Vegas | 2174 |
+----------+----------+
| Mariposa | 1953 |
+----------+----------+
| Madison | 845 |
+----------+----------+

Mặt khác, truy vấn sau đây tìm thấy tất cả các thành phố không phải là thủ đô nhà nước và nằm ở độ cao của 500ft trở lên:

Chọn tên, độ cao
    Chỉ từ các thành phố
    Trong đó độ cao 500;

+----------+----------+
| Tên | độ cao |
+----------+----------+
| Las Vegas | 2174 |
+----------+----------+
| Mariposa | 1953 |
+----------+----------+

ở đây"Chỉ"Trước các thành phố chỉ ra rằng truy vấn chỉ nên được chạy qua các thành phố bảng, và không phải bảng dưới các thành phố trong tài sản thừa kế phân cấp. Nhiều lệnh mà chúng ta đã thảo luận -Chọn, Cập nhậtXóa- Hỗ trợ này"Chỉ"ký hiệu.

Trong các phiên bản trước của토토 결과, mặc định không phải là để có được Truy cập vào bảng trẻ. Điều này đã được tìm thấy là dễ bị lỗi và cũng vi phạm SQL99. Dưới cú pháp cũ, để Nhận các bảng phụ bạn nối "*" vào tên bảng. Vì ví dụ

Chọn * từ các thành phố *;
Bạn vẫn có thể chỉ định rõ ràng các bảng con nối lại "*", cũng như chỉ định rõ ràng không quét trẻ em bảng bằng cách viết"Chỉ". Nhưng bắt đầu Trong phiên bản 7.1, hành vi mặc định cho tên bảng không được trang trí cũng là quét các bảng con của nó, trong khi trước khi mặc định thì không để làm như vậy. Để có được hành vi mặc định cũ, hãy đặt cấu hình lựa chọnSQL_IneritanceTẮT, ví dụ:
Đặt SQL_Inheritance thành TẮT;
hoặc thêm một dòng trong của bạn토토 결과ql.confTệp.