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

Cách chèn UUID vào cột RAW (16)

Bạn phải chuyển đổi UUID thành một mảng byte. Xem phương pháp asBytes làm thế nào để làm điều đó.

Sau nó, ràng buộc rất đơn giản như sử dụng setBytes .

Ví dụ

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

Đây chỉ là trường hợp liên kết không hoạt động, phương thức chuyển đổi UUID thành mảng byte

  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. Dán các biểu tượng tiếng Trung vào oracle DB

  2. Không có mô-đun oci8 trong phpinfo ()

  3. Lỗi SQL:ORA-12712:tập ký tự mới phải là tập thay thế của tập ký tự cũ

  4. Truy vấn có các phép nối bên ngoài hoạt động khác nhau trong Oracle 12c

  5. ORA-02270:không có khóa chính hoặc duy nhất phù hợp cho danh sách cột này