SQLlà ngôn ngữ được đánh máy mạnh mẽ. Nghĩa là, mọi mục dữ liệu đều có một kiểu dữ liệu liên kèo bóng đá c1 xác định hành vi của nó và cho phép sử dụng.PostgreSQLCó một hệ thống loại mở rộng nói chung và linh hoạt hơn so với kèo bóng đá c1 hệ thống khácSQLtriển khai. Do đó, hầu hết kèo bóng đá c1 hành vi chuyển đổi loại trongPostgreSQLđược điều chỉnh bởi kèo bóng đá c1 quy tắc chung hơn là bởi heuristic ad hoc. Điều này cho phép sử dụng kèo bóng đá c1 biểu thức loại hỗn hợp ngay cả với kèo bóng đá c1 loại do người dùng xác định.
ThePostgreSQLMáy quét/trình phân tích phân chia kèo bóng đá c1 phần tử từ vựng thành năm loại cơ bản: số nguyên, số không nhận dạng, chuỗi, định danh và từ khóa. Hằng số của hầu hết kèo bóng đá c1 loại không phải là số được phân loại đầu tiên là chuỗi.SQLĐịnh nghĩa ngôn ngữ cho phép chỉ định tên loại với kèo bóng đá c1 chuỗi và cơ chế này có thể được sử dụng trongPostgreSQLĐể khởi động trình phân tích cú pháp xuống đường dẫn chính xác. Ví dụ: Truy vấn:
chọn văn bản 'gốc' là "nhãn", điểm '(0,0)' làm "giá trị";
có hai hằng số theo nghĩa đen, kèo bóng đá c1Text
vàđiểm
. Nếu một kèo bóng đá c1 không được chỉ định cho một chuỗi theo nghĩa đen, thì kèo bóng đá c1 trình giữ chỗkhông xác định
được gán ban đầu, sẽ được giải quyết trong kèo bóng đá c1 giai đoạn sau như được mô tả dưới đây.
Có bốn cơ bảnSQLCấu trúc yêu cầu quy tắc chuyển đổi kèo bóng đá c1 riêng biệt trongPostgreSQLphân tích cú pháp:
Phần lớnPostgreSQLLoại hệ thống được xây dựng xung quanh một bộ chức năng phong phú. kèo bóng đá c1 chức năng có thể có một hoặc nhiều đối số.PostgreSQLcho phép quá tải chức năng, tên hàm một mình không xác định duy nhất hàm được gọi; Trình phân tích cú pháp phải chọn chức năng phù hợp dựa trên kèo bóng đá c1 loại dữ liệu của kèo bóng đá c1 đối số được cung cấp.
PostgreSQLCho phép kèo bóng đá c1 biểu thức với kèo bóng đá c1 toán tử tiền tố (một đối số), cũng như kèo bóng đá c1 toán tử infix (hai đối số). Giống như kèo bóng đá c1 chức năng, kèo bóng đá c1 toán tử có thể bị quá tải, do đó, vấn đề tương tự trong việc chọn đúng toán tử tồn tại.
SQL Chèn
vàCập nhật
Câu lệnh đặt kết quả của kèo bóng đá c1 biểu thức vào một bảng. kèo bóng đá c1 biểu thức trong câu lệnh phải được khớp với và có lẽ được chuyển đổi thành kèo bóng đá c1 loại của kèo bóng đá c1 cột đích.
Union
, case
và các cấu trúc liên kèo bóng đá c1Vì tất cả kèo bóng đá c1 kết quả truy vấn từ một liên minhChọn
Câu lệnh phải xuất hiện trong một bộ cột, kèo bóng đá c1 loại kết quả của mỗiChọn
mệnh đề phải được khớp và chuyển đổi thành một tập hợp thống nhất. Tương tự, kèo bóng đá c1 biểu thức kết quả của Acase
Xây dựng phải được chuyển đổi thành kèo bóng đá c1 chung đểcase
Biểu thức nói chung có kèo bóng đá c1 đầu ra đã biết. Một số cấu trúc khác, chẳng hạn nhưmảng []
vàvĩ đại nhất
vàÍt nhất
kèo bóng đá c1 chức năng, tương tự yêu cầu xác định một loại chung cho một số biểu hiện phụ.
Danh mục hệ thống lưu trữ thông tin về những chuyển đổi hoặcCasts, tồn tại giữa kèo bóng đá c1 loại dữ liệu nào và cách thực hiện kèo bóng đá c1 chuyển đổi đó. kèo bóng đá c1 diễn viên bổ sung có thể được thêm bởi người dùng vớiTạo Castlệnh. .
Một heuristic bổ sung được cung cấp bởi trình phân tích cú pháp cho phép cải thiện việc xác định hành vi đúc thích hợp giữa kèo bóng đá c1 nhóm loại có diễn viên ngầm. kèo bóng đá c1 loại dữ liệu được chia thành một số cơ bảnkèo bóng đá c1 danh mục, bao gồmBoolean
, Số
, chuỗi
, bitstring
, DateTime
, TimesPan
, hình học
, mạng
và do người dùng xác định. (Để biết danh sách, xemBảng 53,65; Nhưng lưu ý rằng cũng có thể tạo kèo bóng đá c1 danh mục loại tùy chỉnh.) Trong mỗi danh mục, có thể có một hoặc nhiềukèo bóng đá c1 loại ưu tiên, được ưa thích khi có sự lựa chọn kèo bóng đá c1 loại có thể. Với việc lựa chọn cẩn thận kèo bóng đá c1 loại ưa thích và kèo bóng đá c1 diễn viên ngầm có sẵn, có thể đảm bảo rằng kèo bóng đá c1 biểu thức mơ hồ (những biểu thức có nhiều giải pháp phân tích ứng viên) có thể được giải quyết theo một cách hữu ích.
Tất cả kèo bóng đá c1 quy tắc chuyển đổi loại được thiết kế với một số nguyên tắc trong tâm trí:
15458_15536
Không nên có thêm chi phí trong trình phân tích cú pháp hoặc người thực thi nếu truy vấn không cần chuyển đổi loại ngầm. Đó là, nếu một truy vấn được hình thành tốt và kèo bóng đá c1 loại đã khớp, thì truy vấn sẽ thực thi mà không dành thêm thời gian cho trình phân tích cú pháp và không giới thiệu kèo bóng đá c1 cuộc gọi chuyển đổi ngầm không cần thiết trong truy vấn.
Ngoài ra, nếu một truy vấn thường yêu cầu chuyển đổi ngầm cho một hàm và nếu người dùng định nghĩa một hàm mới với kèo bóng đá c1 loại đối số chính xác, trình phân tích cú pháp nên sử dụng chức năng mới này và không còn chuyển đổi ẩn để sử dụng hàm cũ.
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.