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 choPostgreSQL : 문서 : 17 : 윈 토토Phiê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ế.

Cập 스포츠 토토 사이트t

Cập 스포츠 토토 사이트t - Cập 스포츠 토토 사이트t hàng của bảng

Synopsis

[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ả lại [với (old | new asoutput_alias[, ...])]]
                 * |output_expression[[As]output_name] [, ...]]

Mô tả

Cập 스포츠 토토 사이트tThay đổ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 trongsetmệ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.

Có hai cách để sửa đổi bảng bằng cách sử dụng thông tin có trong các bảng khác trong cơ sở dữ liệu: sử dụng các lựa chọn phụ hoặc chỉ định các bảng bổ sung trongtừ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ứchoặcđiều kiện.

tham số

with_query

Thevớimệ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 스포츠 토토 사이트tTruy vấn. Nhìn thấyPostgreSQL : 문서 : 18 : 7.8. 메이저 토토 사이트와 함께 (공통 테이블 표현식)ChọnĐể biết chi tiết.

Table_Name

Tên (tùy chọn Lược đồ theo trình độ) 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 nhậ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 스포츠 토토 사이트tCâu lệnh phải gọi bảng này làfkhô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 = 1khô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ó). Một cột nhận dạng sẽ được đặt thành một giá trị mới được tạo bởi chuỗi liên quan. Đối với một cột được tạo, chỉ định điều này được cho phép nhưng chỉ chỉ định hành vi bình thường của việc tính toán cột từ biểu thức thế hệ của nó.

Sub-Select

AChọnTrì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 trongWHEREBiểu thức điều kiện và cập nhật. Điều này sử dụng cùng một cú pháp vớitừmệnh đề AChọnTuyê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_itemTrừ 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ềTRUEsẽ đượ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 스포츠 토토 사이트tBảng mục tiêu. Lưu ý rằngtrong đó hiện tại củaKhô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ới​​trong đó hiện tại của.

output_alias

Tên thay thế tùy chọn chohoặcmớihàng trongTrở vềDanh sách.

Theo mặc định, các giá trị cũ từ bảng đích có thể được trả về bằng cách viếtcũ.Cột_namehoặccũ.*và các giá trị mới có thể được trả về bằng cách viếtmới.Cột_namehoặcmới.*. Khi một bí danh được cung cấp, các tên này được ẩn và các hàng cũ hoặc mới phải được đề cập đến bằng cách sử dụng bí danh. Ví dụTrở về với (cũ như o, mới như n) o.*, N.*.

output_expression

một biểu thức được tính toán và trả về bởiCập 스포츠 토토 사이트tLệ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_Namehoặc (s) được liệt kê trongtừ. Viết*Để trả về tất cả các cột.

tên cột hoặc*có thể đủ điều kiện sử dụng20000_20006mớihoặc tương ứngoutput_aliaschohoặcmới, để gây ra các giá trị cũ hoặc mới được trả về. Một tên cột không đủ tiêu chuẩn hoặc*hoặc tên cột hoặc*đủ điều kiện sử dụng tên bảng mục tiêu hoặc bí danh sẽ trả về các giá trị mới.

output_name

Tên sẽ sử dụng cho cột được trả về.

đầu ra

Khi hoàn thành thành công,Cập 스포츠 토토 사이트tLệnh trả về thẻ lệnh của biểu mẫu

Cập 스포츠 토토 사이트tĐếm

TheĐếmlà 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ệnKhi cập 스포츠 토토 사이트t bị đàn áp bởiTrước khi cập 스포츠 토토 사이트tTrigger. Nếu nhưĐếmlà 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 스포츠 토토 사이트tLệnh chứa ATrở vềmệnh đề, kết quả sẽ tương tự như của AChọnCâ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 (s) được cập 스포츠 토토 사이트t bởi lệnh.

Ghi chú

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 trongtừ_itemDanh 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óaChènHoạt động.

Có khả năng đồng thờiCập 스포츠 토토 사이트thoặcXóaTrên hàng đượ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 스포츠 토토 사이트tTrê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 스포츠 토토 사이트thoặcXóaHoạt động trên hàng này. Trong trường hợp như vậy, phiên 2 củaCập 스포츠 토토 사이트thoặcXóasẽ 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óatrên phiên bản hàng mới này.

24168_24388

24398_24612Cập 스포츠 토토 사이트tTruy vấn.

ví dụ

Thay đổi từkịchđếnDramaticTrong cộtKindcủa bảngPhim:

24972_25032

Đ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:

25217_25353

Thực hiện cùng một thao tác và trả về các mục được cập nhật và giá trị lượng mưa cũ:

25493_25686

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:

25796_25934

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ụ trongWHEREmệnh đề:

Cập 스포츠 토토 사이트t nhân viên đặt sales_count = sales_count + 1 trong đó id =
  .

Cập 스포츠 토토 사이트t tên liên hệ trong bảng tài khoản để khớp với nhân viên bán hàng hiện đượ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
     WHERE nhân viên.id = tài khoản.sales_person);

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 nơi nhân viên.id = tài khoản.sales_person;

Tuy nhiên, truy vấn thứ hai có thể cho kết quả không mong muốn nếunhân viên.idkhô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ềuidkhớp. Ngoài ra, nếu không có sự phù hợp cho một cụ thểTài khoản.sales_personmụ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 đổiKindCột của bảngPhimTrong hàng mà con trỏc_filmsHiện đang được định vị:

28803_28867

Cập 스포츠 토토 사이트t ảnh hưởng đến nhiều hàng có thể có tác động tiêu cực đến hiệu suất của hệ thống, chẳng hạn như phình ra bảng, tăng độ trễ bản sao và tăng sự tranh chấp khóa. Trong những tình huống như vậy, có thể có ý nghĩa khi thực hiện thao tác theo các đợt nhỏ hơn, có thể vớiNút hútHoạt động trên bảng giữa các lô. Trong khi không cógiới hạnmệnh đề choCập 스포츠 토토 사이트t, có thể có được hiệu ứng tương tự thông qua việc sử dụng APostgreSQL : 문서 : 18 : 7và tự tham gia. Với tiêu chuẩnPostgreSQLPhương thức truy cập bảng, tự tham gia vào cột hệ thốngCTIDrất hiệu quả:

với vượt quá_max_retries AS (
  Chọn W.Ctid từ Work_Item là W
    WHERE w.status = 'active' và w.num_retries 10
    Đặt hàng bởi W.Retry_Timestamp
    Để cập nhật
    Giới hạn 5000
)
CẬP NHẬT Work_Item Set Status = 'Fail'
  Từ vượt quá_max_retries dưới dạng EMR
  WHERE work_item.ctid = emr.ctid;

Lệnh này sẽ cần được lặp lại cho đến khi không có hàng nào được cập nhật. Sử dụng mộtĐặt hàng bởi30210_30408Bỏ qua khóacó thể được thêm vàoCTEĐể ngăn chặn nhiều lệnh cập 스포츠 토토 사이트t cùng một hàng. Tuy nhiên, sau đó là một cuối cùngCập 스포츠 토토 사이트tkhông cóBỏ qua khóahoặcgiới hạnSẽ cần thiết để đảm bảo rằng không có hàng phù hợp nào bị bỏ qua.

Khả năng tương thích

Lệnh này phù hợp vớiSQLtiêu chuẩn, ngoại trừtừTrở vềmệnh đề làPostgreSQLTiện ích mở rộng, cũng như khả năng sử dụngvớivớ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áchPostgreSQLGiải thíchtừ. 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.

31571_31742PostgreSQLChỉ 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 địnhTrong trường hợp trình điều chỉnh hàng, nhưng không phải bên trong phụ-Chọn.