Có thể chèn vào cột BLOB
trong oracle bằng sqldeveloper không?Làm cách nào để chèn vào cột BLOB từ câu lệnh chèn trong sqldeveloper?
ví dụ: một cái gì đó như:
insert into mytable(id, myblob) values (1,'some magic here');
Có thể chèn vào cột BLOB
trong oracle bằng sqldeveloper không?Làm cách nào để chèn vào cột BLOB từ câu lệnh chèn trong sqldeveloper?
ví dụ: một cái gì đó như:
insert into mytable(id, myblob) values (1,'some magic here');
Có, đó là có thể, ví dụ bằng cách sử dụng chuyển đổi ngầm từ RAW tới BLOB:
insert into blob_fun values(1, hextoraw('453d7a34'));
453d7a34
là một chuỗi các giá trị thập lục phân, mà là lần đầu tiên một cách rõ ràng chuyển đổi sang kiểu dữ liệu RAW và sau đó chèn vào cột BLOB. Kết quả là giá trị BLOB là 4 byte.
Để chèn một VARCHAR2
vào một cột BLOB
bạn có thể dựa vào chức năng utl_raw.cast_to_raw
như sau, nó sẽ đúc đầu vào của bạn VARCHAR2
vào RAW
datatype mà không sửa đổi nội dung của nó, sau đó nó sẽ chèn kết quả vào BLOB
cột của bạn:
insert into mytable(id, myblob) values (1, utl_raw.cast_to_raw('some magic here'));
Thông tin chi tiết về chức năng utl_raw.cast_to_raw
Tuyệt vời !!! đã làm việc cho tôi Cảm ơn một triệu –
Đáng tiếc là điều này sẽ không hoạt động nếu BLOB lớn hơn 2000 byte - bởi vì có một giới hạn trong Oracle rằng một hằng số char có thể không lớn hơn 4000 ký tự. –