Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak wstawić UUID do kolumny RAW(16)?

Musisz przekonwertować UUID na tablicę bajtów. Zobacz metodę asBytów jak to zrobić.

Po tym wiązanie jest tak proste, jak użycie setBytes .

Przykład

def stmt = con.prepareStatement("insert into TAB_UUID (id, uuid) values (?,?)") 
// bind
stmt.setInt(1,1)
def uuid = UUID.randomUUID()
stmt.setBytes(2,asBytes(uuid)) 
def rowCount = stmt.executeUpdate()

Tutaj, na wszelki wypadek, link nie działa, metoda konwersji UUID na tablicę bajtów

  public static byte[] asBytes(UUID uuid) {
    ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
    bb.putLong(uuid.getMostSignificantBits());
    bb.putLong(uuid.getLeastSignificantBits());
    return bb.array();
  }


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RU czy RUR?

  2. Różnica między SELECT DISTINCT a SELECT UNIQUE

  3. Zaktualizuj całą tabelę za pomocą numeru sekwencyjnego w Oracle

  4. Uzyskaj ostatni identyfikator we wstawionym wierszu w Oracle DB

  5. Oracle Joins — porównanie składni konwencjonalnej VS ANSI Składnia