Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tại sao tôi không thể cập nhật nhiều cột cùng một lúc bằng từ khóa With?

Điều này dường như hoạt động (nó vẫn hoạt động với một truy vấn đơn giản bằng cách sử dụng DUAL):

UPDATE Table_A SET (Col_One, Col_Two) = (select col_one, col_two from
                                          (WITH OneValue AS (SELECT DISTINCT t.Col_One, T.Col_two
                                                  FROM Table_Two t, Table_A a
                                                  WHERE t.id = a.New_Id))
                                           SELECT Col_One, Col_Two FROM OneValue)
                                        );

Về lý do tại sao nó không hoạt động nếu truy vấn con bắt đầu bằng "WITH", tôi chỉ có thể tưởng tượng rằng đó là do các nhà thiết kế của Oracle SQL đã không lường trước được cách sử dụng này.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:hợp nhất hai truy vấn khác nhau thành một, LIKE &IN

  2. Không thể cập nhật mô hình dữ liệu Đối tượng từ cơ sở dữ liệu do lỗi TNS

  3. Cách xóa tệp nhật ký lưu trữ trên phiên bản AWS RDS Oracle

  4. hibernate hql - trả về danh sách id các hàng đã cập nhật sau khi thực hiện truy vấn cập nhật

  5. java.sql.SQLException:I / O Error:Thiết lập lại kết nối trong máy chủ linux