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

Lỗi câu lệnh Oracle MERGE (ORA-30926)

Câu trả lời đầu tiên (và rõ ràng nhất) là làm sạch dữ liệu để bạn không có các bản sao. Có vẻ như dữ liệu mẫu bạn cung cấp là kết quả của một lỗi.

Đối với merge câu lệnh, nếu dữ liệu thực sự hoàn toàn được sao chép, bạn chỉ có thể sử dụng distinct :

MERGE INTO maintable pr
USING      (SELECT DISTINCT contract,
                            membertype,
                            address1,
                            city,
                            state,
                            zipcode,
                            countrycode
            FROM   incrementaltable pra
            WHERE  pra.membertype = 'Parent')
ON         (pr.contract = pra.contract)
WHEN MATCHED THEN
   UPDATE SET pr.address1 = pra.address1,
              pr.city = pra.city,
              pr.state = pra.sate,
              pr.zipcode = pra.zipcode,
              pr.countrycode = pra.countrycode
      WHERE      address1 IS NULL AND pr.membertype <> 'Parent'



  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 JDBC với Oracle Clustered

  2. Viết truy vấn SQL để tìm sinh viên đăng ký các đơn vị được cung cấp ở một địa điểm?

  3. Hai câu lệnh PLSQL với begin và end, chạy tốt riêng nhưng không cùng nhau?

  4. Oracle:SQL chọn ngày với dấu thời gian

  5. Không phải lỗi biểu thức GROUP BY