Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да вмъкнете UUID в колона RAW(16).

Трябва да конвертирате UUID в байтов масив. Вижте метода asBytes как да го направя.

След него обвързването е просто като използване на setBytes .

Пример

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()

Тук само за случай, че връзката не работи, методът за преобразуване UUID в байтов масив

  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. Преобразувайте Select Oracle Query в Updte за конкретен сценарий

  2. Самодоволството води до:Рискът става реалност

  3. Достъп до курсора по име на колона динамично

  4. Не могат да се редактират конфигурационни файлове на OHS в Enterprise Manager

  5. SQL работна седмица в Oracle