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 cách đọc kèo bóng đá

tên

Tạo cách đọc kèo bóng đá - Xác định cách đọc kèo bóng đá mới
Tạo cách đọc kèo bóng đátê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 cách đọc kèo bóng đá để 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

cách đọc kèo bóng đá

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

Mô tả

ngữ nghĩa của một cách đọc kèo bóng đá 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 đề BẬT 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 cách đọc kèo bóng đá đượ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 cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 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 cách đọc kèo bóng đá, 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 cách đọc kèo bóng đá có cùng ngữ nghĩa:

Cập nhật lên emp.salary trong đó emp.name = "Joe"
    Cập nhật EMP (...) trong đó ...

khi cập nhật lên emp-1.Salary trong đó emp-2.name = "Joe"
    Cập nhật emp-3 (...) trong đó ...
Mỗi cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 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óa không có gì.

Khi chọn giữa các hệ thống cách đọc kèo bóng đá Viết lại và cách đọc kèo bóng đá Viết Đối với một ứng dụng cách đọc kèo bóng đá 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 cách đọc kèo bóng đá viết lại sẽ không phát hiện cũng không xử lý các cách đọc kèo bóng đá tròn. Ví dụ, mặc dù hai định nghĩa cách đọc kèo bóng đá sau đây được chấp nhận quaPostgres, Truy xuất lệnh sẽ gây raPostgresđến tai nạn:

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

Tạo cách đọc kèo bóng đá BAD_RULE_COMBINION_1 là
    Trên chọn vào EMP
    Thay vào đó chọn để Toyemp

Tạo cách đọc kèo bóng đá bad_rule_combination_2 là
    Trên chọn Toyemp
    Thay vào đó chọn vào EMP

nỗ lực lấy lại 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 cách đọc kèo bóng đá vào một lớp để Xác định một cách đọc kèo bóng đá về nó. Sử dụngGrantthu hồiĐể thay đổi cách đọc kèo bóng đáền.

sử dụng

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

Tạo cách đọc kèo bóng đá example_1 là
    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 cách đọc kèo bóng đá 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 cách đọc kèo bóng đá example_2 là
    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 cách đọc kèo bóng đá example_3 là
    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ì

cách đọc kèo bóng đá 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 cách đọc kèo bóng đá example_4 là
    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 cách đọc kèo bóng đá example_5 là
    Khi chèn vào EMP WHERE New.Salary 5000
    DO CẬP NHẬT TANSET Mức lương = 5000

BUGS

Đối tượng trong cách đọc kèo bóng đá SQL không thể là 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 cách đọc kèo bóng đá. 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 cách đọc kèo bóng đá.

Hệ thống cách đọc kèo bóng đá lưu trữ các kế hoạch văn bản và truy vấn cách đọc kèo bóng đá 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 cách đọc kèo bóng đá có thể thất bại nếu cách đọc kèo bóng đá 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 câu lệnh cách đọc kèo bóng đá làPostgresPhần mở rộng ngôn ngữ.

SQL92

Không có câu lệnh cách đọc kèo bóng đá tạo trongSQL92.