PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Toán tử gán bị quên =và điểm chung:=

Trong trình phân tích cú pháp PL / PgSQL, toán tử gán được định nghĩa là

assign_operator : '='
                | COLON_EQUALS
                ;

Đây là một tính năng kế thừa, có trong mã nguồn từ năm 1998, khi nó được giới thiệu - như chúng ta có thể thấy trong repo PostgreSQL Git.

Bắt đầu từ phiên bản 9.4, nó được lập thành tài liệu pháp lý.

Đặc điểm riêng này - có hai toán tử cho cùng một thứ - đã được nêu ra trên danh sách người dùng pgsql và một số người đã yêu cầu xóa nó đi, nhưng nó vẫn được giữ trong lõi vì tập hợp mã kế thừa hợp lý dựa vào nó.

Xem thông báo này từ Tom Lane (nhà phát triển cốt lõi của Pg).

Vì vậy, để trả lời thẳng các câu hỏi của bạn:

Tôi không tìm thấy phần nào đó trong tài liệu đề cập và / hoặc giải thích về điều này?

Bạn không tìm thấy nó vì nó không có giấy tờ, bản này đã được sửa kể từ phiên bản 9.4.

Có bất kỳ hậu quả nào đã biết khi sử dụng =thay vì:=.

Không có hậu quả phụ khi sử dụng = , nhưng bạn nên sử dụng := để được gán để làm cho mã của bạn dễ đọc hơn và (như một tác dụng phụ) tương thích hơn với PL / SQL.

Cập nhật:có thể có một hậu quả phụ trong các trường hợp hiếm gặp (xem câu trả lời của Erwin)

CẬP NHẬT:câu trả lời được cập nhật nhờ đầu vào từ Daniel, Sandy và những người khác.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cài đặt nhiều máy chủ PostgreSQL trên RedHat Linux

  2. Xác minh kết nối cơ sở dữ liệu với pg-promise khi khởi động ứng dụng

  3. Mẹo thực hành tốt nhất của PostgreSQL VACUUM và PHÂN TÍCH

  4. Kiểm tra xem NULL có tồn tại trong mảng Postgres không

  5. Làm cách nào để kết hợp cả ngày với trường ngày giờ?