Tôi có một cơ sở dữ liệu được cập nhật với bộ dữ liệu theo thời gian. Ở đây có thể xảy ra rằng tập dữ liệu được phân phối đã tồn tại trong cơ sở dữ liệu.Thực hiện INSERT có điều kiện với SQL?
Hiện nay tôi đang đầu tiên làm một
SELECT FROM ... WHERE val1=... AND val2=...
để kiểm tra, nếu một tập dữ liệu với những dữ liệu này đã tồn tại (sử dụng các dữ liệu trong ĐÂU-tuyên bố). Nếu điều này không trả lại bất kỳ giá trị nào, tôi sẽ thực hiện INSERT của tôi.
Nhưng điều này có vẻ hơi phức tạp đối với tôi. Vì vậy, câu hỏi của tôi: là có một số loại INSERT có điều kiện thêm một tập dữ liệu mới chỉ trong trường hợp nó không tồn tại?
Tôi đang sử dụng SmallSQL
*** GÌ *** hệ thống cơ sở dữ liệu này là gì? SQL chỉ là ngôn ngữ truy vấn - được sử dụng bởi nhiều sản phẩm cơ sở dữ liệu. SQL là ** không ** sản phẩm cơ sở dữ liệu trong chính nó. Vì vậy, hãy cho chúng tôi biết nếu bạn đang sử dụng MySQL, Postgres, Oracle, IBM DB2, SQL Server, Firebird - hoặc bất kỳ thứ gì khác có thể ... –
Bạn đang nói về [Hợp nhất/Upsert] (http: // vi. wikipedia.org/wiki/Merge_(SQL))? –
@Elmi: Có bất kỳ câu trả lời nào bên dưới giải quyết vấn đề của bạn không? – DougM