Phiên bản không được hỗ trợ:7.0 / 6.5 / 6.4
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ế.

Tạo soi kèo bóng đá truoctran

tên

Tạo soi kèo bóng đá truoctran - Xác định soi kèo bóng đá truoctran mới
Tạo soi kèo bóng đá truoctrantê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Ì ]

Đầu vào

tên

Tên của một soi kèo bóng đá truoctran để tạo.

Sự kiện

Sự kiện là một trong nhữngChọn, Cập nhật, XóahoặcChèn.

Đối tượng

Đối tượng làBảnghoặcBảng.Cột.

điều kiện

Bất kỳ SQL WHERE mệnh đề.mớihoặchiện tạicó 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.

Hành động

bất kỳ câu lệnh SQL nào.mớihoặchiện tạicó 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.

đầu ra

soi kèo bóng đá truoctran

Tin nhắn được trả về nếu soi kèo bóng đá truoctran là thành công tạo.

Mô tả

ngữ nghĩa của một soi kèo bóng đá truoctran là tại thời điểm một cá nhân ví dụ được truy cập, cập nhật, chèn hoặc xóa, có một phiên bản hiện tại (để truy xuất, cập nhật và xóa) và một phiên bản mới ví dụ (để cập nhật và nối thêm). NếuSự kiệnĐược chỉ định trong mệnh đề AN vàđiều kiệnđược chỉ định trong nơi mệnh đề đúng với thể hiện hiện tại,Hành độngMột phần của soi kèo bóng đá truoctran được thực thi. Đầu tiên, Tuy nhiên, các giá trị từ các trường trong trường hợp hiện tại và/hoặc phiên bản mới được thay thế chohiện tại.tên thuộc tínhmới.tên thuộc tính.

TheHành độngmột phần của soi kèo bóng đá truoctran 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.

ghi chú

Một cảnh báo về các soi kèo bóng đá truoctran 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, Theđiều kiệnHành độngcác phần của một soi kèo bóng đá truoctran, tất cả chúng đều là được coi là các biến tuple khác nhau. Chính xác hơn,newhiện tạilà các biến Tuple duy nhất là chia sẻ giữa các điều khoản này. Ví dụ: hai phần sau Các soi kèo bóng đá truoctran có cùng ngữ nghĩa:

trên bản cập nhật lên emp.salary trong đó emp.name = "joe"
    Không cập nhật emp (...) trong đó ...
Cập nhật lên emp-1.Salary trong đó emp-2.name = "Joe"
    Cập nhật emp-3 (...) trong đó ...
Mỗi soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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ì.

Khi chọn giữa các hệ thống soi kèo bóng đá truoctran viết lại và phiên bản Đối với một ứng dụng soi kèo bóng đá truoctran cụ thể, hãy nhớ rằng trong bản viết lại hệ thống,hiện tạiđề cập đến một mối quan hệ và một số vòng loại trong khi trong hệ thống ví dụ mà nó đề cập đến một thể hiện (tuple).

Điều rất quan trọng cần lưu ý là hệ thống soi kèo bóng đá truoctran viết lại sẽ không phát hiện cũng không xử lý các soi kèo bóng đá truoctran tròn. Ví dụ, mặc dù hai định nghĩa soi kèo bóng đá truoctran sau đây được chấp nhận quaPostgres, Truy xuất lệnh sẽ gây raPostgresđến tai nạn:

Ví dụ 14-1. Ví dụ về viết lại tròn sự kết hợp soi kèo bóng đá truoctran.

Tạo soi kèo bóng đá truoctran BAD_RULE_COMBINION_1 AS
    Trên chọn vào EMP
    Thay vào đó chọn Toyemp;
Tạo soi kèo bóng đá truoctran BAD_RULE_COMBINION_2 AS
    Trên chọn Toyemp
    Thay vào đó chọn để emp;

Cố gắng lấy từ EMP sẽ gây raPostgresđể gặp sự cố.

Chọn * từ EMP;

Bạn phải có quyền truy cập định nghĩa soi kèo bóng đá truoctran vào một lớp để Xác định một soi kèo bóng đá truoctran về nó. Sử dụngGrantthu hồiĐể thay đổi soi kèo bóng đá truoctranền.

sử dụng

Làm cho Sam có được điều chỉnh lương giống như Joe:

Tạo soi kèo bóng đá truoctran example_1 AS
    Trên Cập nhật EMP.Salary WHERE hiện tại.name = "Joe"
    DO CẬP NHẬT EMP (Mức lương = new.salary)
    WHERE EMP.NAME = "SAM";
Tại 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ụ hiện tại của Joe và đề xuất trường hợp mới 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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran example_2 AS
    Trên chọn vào emp.salary
    Trong đó hiện tại.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 soi kèo bóng đá truoctran example_3 AS
    Trên chọn vào emp.salary
    Trong đó hiện tại.dept = "giày" và current_user = "joe"
    Thay vào đó không có gì;

soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran example_5 AS
    Trên trơ với EMP nơi New.Salary 5000
    DO CẬP NHẬT TANSET Mức lương = 5000;

Bugs

đối tượng trong ASQLsoi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran. 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)"ở đâu"EMP"IS một lớp) không thể được gọi ở bất cứ đâu trong một soi kèo bóng đá truoctran.

Hệ thống soi kèo bóng đá truoctran lưu trữ các kế hoạch văn bản và truy vấn soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran có thể thất bại nếu soi kèo bóng đá truoctran 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ị Đó là trên thứ tự của một trang (8kb).

Tương thích

Tạo soi kèo bóng đá truoctranCâu lệnh làPostgresPhần mở rộng ngôn ngữ.

SQL92

Không cóTạo soi kèo bóng đá truoctrancâu lệnh trongSQL92.