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

Cập nhật câu lệnh bằng mệnh đề

Nếu có ai đó đến đây sau tôi, thì đây là câu trả lời phù hợp với tôi.

LƯU Ý:vui lòng đọc các nhận xét trước khi sử dụng, điều này không hoàn chỉnh. Lời khuyên tốt nhất cho các truy vấn cập nhật mà tôi có thể đưa ra là chuyển sang SqlServer;)

update mytable t
set z = (
  with comp as (
    select b.*, 42 as computed 
    from mytable t 
    where bs_id = 1
  )
  select c.computed
  from  comp c
  where c.id = t.id
)

Chúc bạn thành công,

GJ



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CHO THUÊ LOB

  2. Oracle chèn vào table2 sau đó xóa khỏi table1, ngoại lệ nếu thất bại

  3. ORA-08177:không thể tuần tự hóa quyền truy cập cho giao dịch này

  4. Chèn dữ liệu máy chủ SQL với Oracle® SQL * Loader

  5. Tại sao tôi không thể sử dụng các biến liên kết trong các câu lệnh DDL / SCL trong SQL động?