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 soi kèo bóng đá truoctran xác định hành vi của nó và cho phép sử dụng.PostgreSQLCó một hệ thống loại có thể mở rộng nói chung và linh hoạt hơn so với khácSQLtriển khai. Do đó, hầu hết soi kèo bóng đá truoctran hành vi chuyển đổi loại trongPostgreSQLđược điều chỉnh bởi soi kèo bóng đá truoctran quy tắc chung thay vì heuristic ad hoc. Điều này cho phép sử dụng soi kèo bóng đá truoctran biểu thức loại hỗn hợp ngay cả với soi kèo bóng đá truoctran loại do người dùng xác định.
ThePostgreSQLMáy quét/trình phân tích cú pháp chia soi kèo bóng đá truoctran phần tử từ vựng thành năm loại cơ bản: số nguyên, số không nhận thức, chuỗi, định danh và từ khóa. Hằng số của hầu hết soi kèo bóng đá truoctran 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 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, loạiText
vàđiểm
. Nếu một loại không được chỉ định cho một chuỗi theo nghĩa đen, thì loại trình giữ chỗkhông xác định
được gán ban đầu, sẽ được giải quyết trong soi kèo bóng đá truoctran giai đoạn sau như được mô tả dưới đây.
Có bốn cơ bảnSQLXây dựng yêu cầu soi kèo bóng đá truoctran quy tắc chuyển đổi loại 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ú. soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran loại dữ liệu của soi kèo bóng đá truoctran đối số được cung cấp.
PostgreSQLCho phép soi kèo bóng đá truoctran biểu thức với soi kèo bóng đá truoctran toán tử tiền tố (một đối số), cũng như soi kèo bóng đá truoctran toán tử infix (hai đối số). Giống như soi kèo bóng đá truoctran chức năng, soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran biểu thức vào một bảng. soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran loại của soi kèo bóng đá truoctran cột đích.
Union
, case
và các cấu trúc liên soi kèo bóng đá truoctranVì tất cả soi kèo bóng đá truoctran 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 duy nhất, soi kèo bóng đá truoctran 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 bộ thống nhất. Tương tự, soi kèo bóng đá truoctran biểu thức kết quả của Acase
Xây dựng phải được chuyển đổi thành loại chung đểcase
Biểu thức nói chung có loại đầ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
soi kèo bóng đá truoctran hàm, 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ề chuyển đổi nào hoặcCasts, tồn tại giữa soi kèo bóng đá truoctran loại dữ liệu nào và cách thực hiện soi kèo bóng đá truoctran chuyển đổi đó. soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran nhóm loại có diễn viên ngầm. soi kèo bóng đá truoctran loại dữ liệu được chia thành một số cơ bảnLoại danh mục, bao gồmBoolean
, Số
, chuỗi
, BitString
, DateTime
, TimesPan
, hình học
, mạng
và người dùng định nghĩa. (Để biết danh sách, xemBảng 51,65; Nhưng lưu ý rằng cũng có thể tạo soi kèo bóng đá truoctran danh mục loại tùy chỉnh.) Trong mỗi danh mục, có thể có một hoặc nhiềusoi kèo bóng đá truoctran loại ưu tiên, được ưa thích khi có sự lựa chọn soi kèo bóng đá truoctran loại có thể. Với việc lựa chọn cẩn thận soi kèo bóng đá truoctran loại ưa thích và soi kèo bóng đá truoctran diễn viên ngầm có sẵn, có thể đảm bảo rằng soi kèo bóng đá truoctran 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ả soi kèo bóng đá truoctran 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í:
Chuyển đổi ngầm không bao giờ có kết quả đáng ngạc nhiên hoặc không thể đoán trước.
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à soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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.