PostgreSQL | ||
---|---|---|
prev | Tiếp theo |
Tạo tỷ lệ kèo bóng đá tối naytênnhư trênSự kiệnđếnĐối tượng[WHEREđiều kiện] Làm [thay vào đó] [hành động| KHÔNG CÓ GÌ ]
Tên của một tỷ lệ kèo bóng đá tối nay để tạo.
Sự kiện là một trong nhữngChọn, Cập nhật, XóahoặcChèn.
Đối tượng làBảnghoặcBảng.Cột.
Bất kỳ SQL nào trong đó mệnh đề,mớihoặccũcó thể xuất hiện thay vì biến thể bất cứ khi nào một biến thể hiện là cho phép trong sql.
Bất kỳ câu lệnh SQL nào,newhoặccũcó thể xuất hiện thay vì biến thể bất cứ khi nào một biến thể hiện là cho phép trong sql.
Tin nhắn được trả về nếu tỷ lệ kèo bóng đá tối nay là thành công tạo.
ThePostgres Hệ thống tỷ lệ kèo bóng đá tối naycho phép một người xác định thay thế hành động sẽ được thực hiện trên các phần chèn, cập nhật hoặc xóa khỏi Bảng cơ sở dữ liệu hoặc các lớp. Hiện tại, các tỷ lệ kèo bóng đá tối nay được sử dụng để thực hiện chế độ xem bảng.
ngữ nghĩa của một tỷ lệ kèo bóng đá tối nay là tại thời điểm một cá nhân ví dụ được truy cập, chèn, cập nhật hoặc xóa, có một ví dụ cũ (cho các lựa chọn, cập nhật và xóa) và một phiên bản mới ví dụ (để chèn và cập nhật). NếuSự kiệnĐược chỉ định trong mệnh đề BẬT vàđiều kiệnđược chỉ định trong nơi mệnh đề đúng với ví dụ cũ,Hành độngMột phần của tỷ lệ kèo bóng đá tối nay được thực thi. Đầu tiên, Tuy nhiên, các giá trị từ các trường trong trường hợp cũ và/hoặc mới ví dụ được thay thế chocũ.tên thuộc tínhvàmới.tên thuộc tính.
TheHành độngMột phần của tỷ lệ kèo bóng đá tối nay thực thi với cùng một lệnh và định danh giao dịch như lệnh người dùng gây ra kích hoạt.
cảnh báo về các tỷ lệ kèo bóng đá tối nay SQL là theo thứ tự. Nếu cùng một lớp Tên hoặc biến thể hiện xuất hiện trongSự kiện, điều kiệnvàhành độngcác phần của một tỷ lệ kèo bóng đá tối nay, tất cả chúng đều là được coi là các biến tuple khác nhau. Chính xác hơn,newvàcũlà các biến tuple duy nhất được chia sẻ giữa các biến này mệnh đề. Ví dụ: hai tỷ lệ kèo bóng đá tối nay sau có cùng ngữ nghĩa:
trên bản cập nhật lên emp.salary trong đó emp.name = "joe" LÀM Cập nhật bộ emp ... trong đó ...
Cập nhật lên emp-1.Salary trong đó emp-2.name = "Joe" LÀM Cập nhật đặt emp-3 ... trong đó ...Mỗi tỷ lệ kèo bóng đá tối nay có thể có thẻ tùy chọn thay thế. Không có điều này nhãn,hành độngsẽ được thực hiện trong bổ sung vào lệnh người dùng khiSự kiệntrongđiều kiệnMột phần của tỷ lệ kèo bóng đá tối nay xảy ra. Xen kẽ,Hành độngphần sẽ được thực hiện thay vì Lệnh người dùng. Trong trường hợp này sau này,hành độngcó thể là từ khóaKhông có gì.
Điều rất quan trọng cần lưu ý là tránh các tỷ lệ kèo bóng đá tối nay tròn. Vì Ví dụ, mặc dù hai định nghĩa tỷ lệ kèo bóng đá tối nay sau đây là Được chấp nhận bởiPostgres, The Chọn lệnh sẽ gây raPostgresđể báo cáo lỗi vì Truy vấn đã đạp xe quá nhiều lần:
Ví dụ 19-1. Ví dụ về viết lại tròn sự kết hợp tỷ lệ kèo bóng đá tối nay.
Tạo tỷ lệ kèo bóng đá tối nay BAD_RULE_COMBINION_1 AS Trên chọn vào EMP Làm thay thế Chọn Toyemp;
Tạo tỷ lệ kèo bóng đá tối nay bad_rule_combination_2 AS Trên chọn Toyemp Làm thay thế Chọn để emp;
Cố gắng chọn từ EMP sẽ gây raPostgresĐể đưa ra lỗi vì Truy vấn đã đạp xe quá nhiều lần.
Chọn * từ EMP;
Bạn phải có quyền truy cập định nghĩa tỷ lệ kèo bóng đá tối nay vào một lớp để Xác định một tỷ lệ kèo bóng đá tối nay về nó. Sử dụngGrantvàthu hồiĐể thay đổi tỷ lệ kèo bóng đá tối nayền.
đối tượng trong ASQLtỷ lệ kèo bóng đá tối nay không thể là một tham chiếu mảng và không thể có tham số.
Ngoài trường "OID", các thuộc tính hệ thống không thể tham chiếu bất cứ nơi nào trong một tỷ lệ kèo bóng đá tối nay. Trong số những thứ khác, điều này có nghĩa là đó là các chức năng của các trường hợp (ví dụ:foo (emp)WHEREEMPlà a lớp) không thể được gọi ở bất cứ đâu trong một tỷ lệ kèo bóng đá tối nay.
Hệ thống tỷ lệ kèo bóng đá tối nay lưu trữ các kế hoạch văn bản và truy vấn tỷ lệ kèo bóng đá tối nay dưới dạng văn bản thuộc tính. Điều này ngụ ý rằng việc tạo ra các tỷ lệ kèo bóng đá tối nay có thể thất bại nếu tỷ lệ kèo bóng đá tối nay cộng với các biểu diễn nội bộ khác nhau của nó vượt quá một số Giá trị nằm trên thứ tự của một trang (8kb).
Làm cho Sam có được điều chỉnh lương giống như Joe:
Tạo tỷ lệ kèo bóng đá tối nay example_1 AS Trên cập nhật emp.salary nơi cũ.name = "joe" LÀM Cập nhật EMP Đặt lương = new.Salary WHERE EMP.NAME = "SAM";Vào thời điểm đó, Joe nhận được điều chỉnh lương, sự kiện sẽ trở thành sự thật và ví dụ cũ của Joe và đề xuất ví dụ mới là Có sẵn cho các thói quen thực thi. Do đó, mức lương mới của anh ấy là được thay thế vào phần hành động của tỷ lệ kèo bóng đá tối nay sau đó thực hiện. Điều này tuyên bố tiền lương của Joe lên Sam.
Làm cho Bill nhận tiền lương của Joe khi được truy cập:
Tạo tỷ lệ kèo bóng đá tối nay example_2 AS Trên chọn vào emp.salary Nơi cũ.name = "Bill" Làm thay thế Chọn emp.Salary Từ EMP WHERE EMP.NAME = "Joe";
Từ chối Joe truy cập vào mức lương của nhân viên trong giày phòng (current_userTrả về Tên của người dùng hiện tại):
Tạo tỷ lệ kèo bóng đá tối nay example_3 AS TRÊN Chọn để emp.salary Trong đó cũ.dept = "giày" và current_user = "joe" Thay vào đó không có gì;
tỷ lệ kèo bóng đá tối nay một cái nhìn của các nhân viên làm việc trong đồ chơi phòng.
Tạo ToyEmp (name = char16, tiền lương = int4); Tạo tỷ lệ kèo bóng đá tối nay example_4 as Trên chọn Toyemp Làm thay thế Chọn emp.Name, emp.salary Từ EMP WHERE EMP.DEPT = "Đồ chơi";
Tất cả nhân viên mới phải kiếm được 5.000 hoặc ít hơn
Tạo tỷ lệ kèo bóng đá tối nay example_5 AS Trên trơ với EMP nơi New.Salary 5000 LÀM CẬP NHẬT THƯƠNG HIỆU SET Mức lương = 5000;
Tạo tỷ lệ kèo bóng đá tối nayCâu lệnh làPostgresMở rộng ngôn ngữ. Không cóTạo tỷ lệ kèo bóng đá tối naycâu lệnh trongSQL92.