Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Memenuhi syarat nama kolom tabel sementara di jOOQ

Ada dua cara untuk berinteraksi dengan tabel/kolom secara dinamis (yaitu tanpa menggunakan pembuat kode) di jOOQ:

Menggunakan SQL biasa (org.jooq.SQL )

Itulah yang Anda lakukan. Anda jelas dapat memenuhi syarat kolom secara langsung di Field SQL biasa Anda referensi dalam dua cara:

Dengan mengulangi "tmp" string di setiap bidang:

Table<Record> TMP = DSL.table("tmp");
Field<String> TYPE = DSL.field("tmp.type", String.class);
Field<String> TOKEN = DSL.field("tmp.token", String.class);

Dengan menyematkan "tmp" referensi dalam template SQL biasa:

Table<Record> TMP = DSL.table("tmp");
Field<String> TYPE = DSL.field("{0}.type", String.class, TMP);
Field<String> TOKEN = DSL.field("{0}.token", String.class, TMP);

Fungsi SQL biasa didokumentasikan di sini dalam manual

Menggunakan referensi yang memenuhi syarat (org.jooq.Name )

Itu mungkin yang ingin Anda lakukan sebagai gantinya. Anda akan menulis:

Table<Record> TMP = DSL.table(DSL.name("tmp"));
Field<String> TYPE = DSL.field(DSL.name("tmp", "type"), String.class);
Field<String> TOKEN = DSL.field(DSL.name("tmp", "token"), String.class);

Fungsi penamaan dijelaskan di sini dalam manual .

Keuntungan dari pendekatan ini adalah:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mensimulasikan fungsi lag di MySQL

  2. Bagaimana situs perjalanan mengunci kamar?

  3. Bagaimana cara memeriksa apakah nama pengguna sudah ada dengan PHP/MYSQL

  4. Mengonversi nomor Epoch ke tanggal yang dapat dibaca manusia di mysql

  5. Perbarui Kueri Untuk Memperbarui Baris di MySQL