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

Đang cố gắng xóa khỏi nhiều bảng bằng SQL

delete chỉ có thể xử lý một bảng tại một thời điểm, vì vậy bạn cần ba câu lệnh:

DELETE FROM upklist 
WHERE  session_id = (SELECT session_id 
                     FROM   usession 
                     WHERE  delete_session_id IS NULL 
                            AND user_id = (SELECT user_id 
                                           FROM   users 
                                           WHERE  REGEXP_LIKE(USER_NAME, 
                                                  'awpeople', 'i'))); 

DELETE FROM projshar 
WHERE  session_id = (SELECT session_id 
                     FROM   usession 
                     WHERE  delete_session_id IS NULL 
                            AND user_id = (SELECT user_id 
                                           FROM   users 
                                           WHERE  REGEXP_LIKE(USER_NAME, 
                                                  'awpeople', 'i'))); 

DELETE FROM usession 
WHERE  session_id = (SELECT session_id 
                     FROM   usession 
                     WHERE  delete_session_id IS NULL 
                            AND user_id = (SELECT user_id 
                                           FROM   users 
                                           WHERE  REGEXP_LIKE(USER_NAME, 
                                                  'awpeople', 'i'))); 

Lưu ý rằng vì truy vấn bên trong dựa vào usersession , bạn nên xóa khỏi nó cuối cùng .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối với cơ sở dữ liệu trong Pro C bằng Oracle Wallet

  2. Oracle PL / SQL:Xuất dữ liệu từ một bảng sang CSV

  3. Có thể xếp hàng từ hàng đợi ANYDATA Synchronous Capture bằng JDBC không?

  4. Tệp Sql Script (apex_epg_config.sql) bị thiếu trong Oracle Apex 20.2

  5. java.sql.SQLException:Không tìm thấy trình điều khiển phù hợp jdbc:oracle:thin