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

jOOQ chèn vào .. nơi không tồn tại cho Postgres

Nếu bạn muốn sử dụng lại tham số đã đặt tên trong jOOQ, lý tưởng nhất là bạn tạo phần tử AST bên ngoài truy vấn, chẳng hạn như:

// Assuming a static import
import static org.jooq.impl.DSL.*;

Param<Integer> myId = param("myId", Integer.class);

Sau đó, bạn có thể sử dụng nó nhiều lần trong truy vấn của mình:

using(configuration)
  .insertInto(MY_TABLE, MY_TABLE.MY_ID, MY_TABLE.COL1, MY_TABLE.COL2)
  .select(
     select(
        myId, 
        param("firstCol", MY_TABLE.COL1.getType()),
        param("secondCol", MY_TABLE.COL2.getType())
     )
     .whereNotExists(
        selectOne()
        .from(MY_TABLE)
        .where(MY_TABLE.MY_ID.eq(myId))
     )
  );



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm GREATEST () trong PostgreSQL

  2. Spring Boot - Cùng một kho lưu trữ và cùng một thực thể cho các cơ sở dữ liệu khác nhau

  3. Không thể tìm thấy thư viện máy khách PostgreSQL (libpq)

  4. PostgreSQL Autoincrement

  5. Làm thế nào để lưu trữ một bảng dữ liệu trong cơ sở dữ liệu?