Cập 무지개 토토t - Cập 무지개 토토t hàng của bảng
[với [đệ quy]with_query
[, ...]] Cập 무지개 토토t [chỉ]Table_Name
[ *] [[As]bí danh
] BỘCột_name
=Biểu thức
| Mặc định | (Cột_name
[, ...]) = [hàng] (Biểu thức
| Mặc định [, ...]) | (Cột_name
[, ...]) = (Sub-Select
) [, ...] [ TỪfrom_item
[, ...]] [ Ở ĐÂUđiều kiện
| Nơi hiện tại củacon trỏ_name
] [Trả về * |output_expression
[[As]output_name
] [, ...]]
Cập 무지개 토토t
Thay đổi các giá trị của các cột được chỉ định trong tất cả các hàng thỏa mãn điều kiện. Chỉ các cột được sửa đổi cần được đề cập trongset
mệnh đề; Các cột không được sửa đổi rõ ràng giữ lại các giá trị trước đó của chúng.
11923_12081từ
mệnh đề. Kỹ thuật nào phù hợp hơn phụ thuộc vào hoàn cảnh cụ thể.
Tùy chọnTrở về
mệnh đề gây raCập 무지개 토토t
Để tính toán và trả về (các) giá trị dựa trên mỗi hàng thực sự được cập nhật. Bất kỳ biểu thức nào sử dụng các cột của bảng và/hoặc các cột của các bảng khác được đề cập trongtừ
, có thể được tính toán. Các giá trị mới (Post Update) của các cột của bảng được sử dụng. Cú pháp củaTrở về
Danh sách giống hệt với danh sách đầu ra củaChọn
.
Bạn phải cóCập 무지개 토토t
Đặc quyền trên bảng hoặc ít nhất là trên (các) cột được liệt kê để được cập 무지개 토토t. Bạn cũng phải cóChọn
Đặc quyền trên bất kỳ cột nào có giá trị được đọc trongBiểu thức
hoặcđiều kiện
.
with_query
Thevới
mệnh đề cho phép bạn chỉ định một hoặc nhiều truy vấn con có thể được tham chiếu theo tên trongCập 무지개 토토t
Truy vấn. Nhìn thấyPostgreSQL : 문서 : 12 : 7.8. 토토 사이트와 함께 (공통 테이블 표현식)vàChọnĐể biết chi tiết.
Table_Name
Tên (tùy chọn theo trình độ lược đồ) của bảng để cập 무지개 토토t. Nếu nhưChỉ
được chỉ định trước tên bảng, các hàng khớp chỉ được cập 무지개 토토t trong bảng được đặt tên. Nếu nhưchỉ
Không được chỉ định, các hàng khớp cũng được cập nhật trong bất kỳ bảng nào được kế thừa từ bảng được đặt tên. Tùy chọn,*
Có thể được chỉ định sau tên bảng để chỉ ra rõ ràng rằng các bảng hậu duệ được bao gồm.
bí danh
Một tên thay thế cho bảng đích. Khi một bí danh được cung cấp, nó hoàn toàn ẩn tên thực tế của bảng. Ví dụ, đã choCập 무지개 토토t foo as f
, phần còn lại củaCập 무지개 토토t
Câu lệnh phải gọi bảng này làf
khôngfoo
.
Cột_name
Tên của một cột trong bảng được đặt tên bởiTable_Name
. Tên cột có thể đủ điều kiện với một tên trường con hoặc chỉ số mảng, nếu cần. Không bao gồm tên của bảng trong đặc điểm kỹ thuật của cột đích - ví dụ:Cập 무지개 토토t bảng_name set table_name.col = 1
không hợp lệ.
Biểu thức
Một biểu thức để gán cho cột. Biểu thức có thể sử dụng các giá trị cũ của các cột này và các cột khác trong bảng.
mặc định
Đặt cột thành giá trị mặc định của nó (sẽ là NULL nếu không có biểu thức mặc định cụ thể nào được gán cho nó).
Sub-Select
AChọn
Trình tải phụ tạo ra nhiều cột đầu ra như được liệt kê trong danh sách cột dấu ngoặc đơn trước nó. Trình độ phụ phải mang lại không quá một hàng khi được thực hiện. Nếu nó mang lại một hàng, các giá trị cột của nó được gán cho các cột đích; Nếu nó mang lại không có hàng, các giá trị null được gán cho các cột đích. Trình độ phụ có thể tham khảo các giá trị cũ của hàng hiện tại của bảng được cập nhật.
from_item
Biểu thức bảng cho phép các cột từ các bảng khác xuất hiện trongWHERE
16661_16731từ
mệnh đềcủa AChọn
Tuyên bố; Ví dụ, một bí danh cho tên bảng có thể được chỉ định. Không lặp lại bảng đích dưới dạngfrom_item
Trừ khi bạn có ý định tự tham gia (trong trường hợp đó nó phải xuất hiện với bí danh trongfrom_item
).
điều kiện
Một biểu thức trả về giá trị của loạiBoolean
. Chỉ các hàng mà biểu thức này trả vềTRUE
sẽ được cập 무지개 토토t.
con trỏ_name
Tên của con trỏ sẽ sử dụng trong Atrong đó hiện tại của
Điều kiện. Hàng được cập nhật là một hàng gần đây nhất được lấy từ con trỏ này. Con trỏ phải là một truy vấn không nhóm trênCập 무지개 토토t
Bảng mục tiêu. Lưu ý rằngtrong đó hiện tại của
Không thể được chỉ định cùng với điều kiện Boolean. Nhìn thấykhai báoĐể biết thêm thông tin về việc sử dụng con trỏ vớitrong đó hiện tại của
.
output_expression
Một biểu thức được tính toán và trả về bởiCập 무지개 토토t
Lệnh sau mỗi hàng được cập nhật. Biểu thức có thể sử dụng bất kỳ tên cột nào của bảng được đặt tên bởiTable_Name
hoặc (s) được liệt kê trongtừ
. Viết*
Để trả về tất cả các cột.
output_name
tên sẽ sử dụng cho cột được trả về.
Khi hoàn thành thành công, mộtCập 무지개 토토t
Lệnh trả về thẻ lệnh của biểu mẫu
Cập 무지개 토토tĐếm
TheĐếm
là số lượng hàng được cập nhật, bao gồm cả các hàng phù hợp có giá trị không thay đổi. Lưu ý rằng số có thể nhỏ hơn số lượng hàng khớp vớiđiều kiện
Khi cập 무지개 토토t bị đàn áp bởiTrước khi cập 무지개 토토t
Trigger. Nếu nhưĐếm
là 0, không có hàng nào được cập nhật bởi truy vấn (đây không được coi là lỗi).
NếuCập 무지개 토토t
Lệnh chứa ATrở về
mệnh đề, kết quả sẽ tương tự như của AChọn
Câu lệnh chứa các cột và giá trị được xác định trongTrở về
Danh sách, được tính toán trên (các) được cập 무지개 토토t bởi lệnh.
Khi Atừ
Điều khoản có mặt, về cơ bản xảy ra là bảng đích được nối với các bảng được đề cập trongfrom_item
Danh sách và mỗi hàng đầu ra của tham gia đại diện cho hoạt động cập nhật cho bảng đích. Khi sử dụngtừ
Bạn nên đảm bảo rằng tham gia tạo ra nhiều nhất một hàng đầu ra cho mỗi hàng được sửa đổi. Nói cách khác, một hàng mục tiêu không nên nối với nhiều hơn một hàng từ (các) bảng khác. Nếu có, thì chỉ có một trong các hàng tham gia sẽ được sử dụng để cập nhật hàng mục tiêu, nhưng cái nào sẽ được sử dụng không thể dự đoán được.
Vì sự không xác định này, việc tham chiếu các bảng khác chỉ trong các lựa chọn phụ là an toàn hơn, mặc dù thường khó đọc và chậm hơn so với sử dụng tham gia.
Trong trường hợp bảng được phân vùng, việc cập nhật một hàng có thể khiến nó không còn thỏa mãn ràng buộc phân vùng của phân vùng chứa. Trong trường hợp đó, nếu có một số phân vùng khác trong cây phân vùng mà hàng này thỏa mãn ràng buộc phân vùng của nó, thì hàng được chuyển sang phân vùng đó. Nếu không có phân vùng như vậy, một lỗi sẽ xảy ra. Đằng sau hậu trường, chuyển động hàng thực sự là mộtXóa
vàChèn
Hoạt động.
Có khả năng đồng thờiCập 무지개 토토t
hoặcXóa
Trên hàng đang được di chuyển sẽ bị lỗi lỗi tuần tự hóa. Giả sử phiên 1 đang thực hiện mộtCập 무지개 토토t
Trên khóa phân vùng và trong khi đó là phiên 2 đồng thời mà hàng này có thể hiển thị thực hiệnCập 무지개 토토t
hoặcXóa
Hoạt động trên hàng này. Trong trường hợp như vậy, phiên 2 củaCập 무지개 토토t
hoặcXóa
sẽ phát hiện chuyển động hàng và tăng lỗi lỗi tuần tự hóa (luôn trả về với mã SQLSTATE '40001'). Các ứng dụng có thể muốn thử lại giao dịch nếu điều này xảy ra. Trong trường hợp thông thường mà bảng không được phân vùng hoặc khi không có chuyển động hàng, phiên 2 sẽ xác định hàng mới được cập nhật và thực hiệnCập 무지개 토토t
/Xóa
Trên phiên bản hàng mới này.
Lưu ý rằng trong khi các hàng có thể được chuyển từ các phân vùng cục bộ sang phân vùng bàn nước ngoài (với điều kiện trình bao bọc dữ liệu nước ngoài hỗ trợ định tuyến Tuple), chúng không thể được chuyển từ phân vùng bàn nước ngoài sang phân vùng khác.
Thay đổi từkịch
đếnDramatic
Trong cộtKind
của bảngPhim
:
22993_23053
Điều chỉnh các mục nhập nhiệt độ và đặt lại kết tủa theo giá trị mặc định của nó trong một hàng của bảngthời tiết
:
Cập 무지개 토토t bộ thời tiết đặt TEMP_LO = TEMP_LO+1, TEMP_HI = TET Nơi City = 'San Francisco' và Date = '2003-07-03';
Thực hiện cùng một thao tác và trả về các mục được cập nhật:
Cập 무지개 토토t bộ thời tiết bộ TEMP_LO = TEMP_LO+1, TET Nơi City = 'San Francisco' và Date = '2003-07-03' Trả lại temp_lo, temp_hi, prcp;
Sử dụng cú pháp danh sách cột thay thế để thực hiện cùng một bản cập 무지개 토토t:
Cập 무지개 토토t bộ thời tiết (temp_lo, temp_hi, prcp) = (temp_lo+1, temp_lo+15, mặc định) Nơi City = 'San Francisco' và Date = '2003-07-03';
Tăng số lượng doanh số của nhân viên bán hàng quản lý tài khoản cho Tập đoàn ACME, sử dụngtừ
Cú pháp mệnh đề:
Cập 무지개 토토t nhân viên đặt Sales_Count = Sales_Count + 1 từ tài khoản Nơi tài khoản.name = 'Acme Corporation' Và nhân viên.id = tài khoản.sales_person;
Thực hiện cùng một thao tác, sử dụng một lựa chọn phụ trongWHERE
mệnh đề:
Cập 무지개 토토t nhân viên đặt sales_count = sales_count + 1 trong đó id = .
Cập 무지개 토토t tên liên lạc trong bảng tài khoản để khớp với nhân viên bán hàng được chỉ định:
Cập 무지개 토토t bộ tài khoản (contact_first_name, contact_last_name) = (Chọn First_Name, Last_Name từ nhân viên bán hàng WHERE SalesMeN.id = access.sales_id);
Một kết quả tương tự có thể được thực hiện bằng một lần tham gia:
Cập 무지개 토토t tài khoản đặt contact_first_name = first_name, contact_last_name = last_name Từ nhân viên bán hàng nơi nhân viên bán hàng.id = tài khoản.sales_id;
Tuy nhiên, truy vấn thứ hai có thể cho kết quả không mong muốn nếuBán hàng
.id
không phải là khóa duy nhất, trong khi truy vấn đầu tiên được đảm bảo để gây lỗi nếu có nhiềuid
phù hợp. Ngoài ra, nếu không có sự phù hợp cho một cụ thểTài khoản
.sales_id
mục nhập, truy vấn đầu tiên sẽ đặt các trường tên tương ứng thành NULL, trong khi truy vấn thứ hai sẽ không cập nhật hàng đó.
Cập 무지개 토토t số liệu thống kê trong bảng tóm tắt để phù hợp với dữ liệu hiện tại:
Cập 무지개 토토t Tóm tắt S Set (SUM_X, SUM_Y, AVG_X, AVG_Y) = . Trong đó D.group_id = s.group_id);
Cố gắng chèn một mặt hàng chứng khoán mới cùng với số lượng cổ phiếu. Nếu mặt hàng đã tồn tại, thay vào đó, hãy cập nhật số lượng cổ phiếu của mặt hàng hiện có. Để làm điều này mà không thất bại toàn bộ giao dịch, hãy sử dụng các điểm lưu:
Bắt đầu; - Các hoạt động khác SavePoint SP1; Chèn vào các giá trị rượu vang ('Chateau Lafite 2003', '24'); - Giả sử những điều trên thất bại vì vi phạm chính duy nhất, - Vì vậy, bây giờ chúng tôi phát hành các lệnh này: Rollback đến SP1; Cập 무지개 토토t rượu vang đặt stock = stock + 24 trong đó winename = 'Chateau lafite 2003'; - Tiếp tục với các hoạt động khác, và cuối cùng LÀM;
Thay đổiKind
Cột của bảngPhim
Trong hàng mà con trỏc_films
Hiện đang được định vị:
26749_26813
Lệnh này phù hợp vớiSQLtiêu chuẩn, ngoại trừtừ
vàTrở về
mệnh đề làPostgreSQLTiện ích mở rộng, cũng như khả năng sử dụngvới
vớiCập 무지개 토토t
.
Một số hệ thống cơ sở dữ liệu khác cung cấp Atừ
tùy chọn trong đó bảng đích được cho là được liệt kê lại trongtừ
. Đó không phải là cáchPostgreSQLdiễn giảitừ
. Hãy cẩn thận khi chuyển các ứng dụng sử dụng tiện ích mở rộng này.
Theo tiêu chuẩn, giá trị nguồn cho danh sách phụ của tên con mục tiêu có thể là bất kỳ biểu thức có giá trị hàng nào mang lại số lượng cột chính xác.PostgreSQLChỉ cho phép giá trị nguồn làTrình xây dựng hànghoặc Sub-Chọn
. Giá trị được cập nhật của một cột cá nhân có thể được chỉ định làmặc định
Trong trường hợp thiết lập hàng, nhưng không phải bên trong phụ-Chọn
.