Как я могу вставить в столбец BLOB из оператора вставки в sqldeveloper? - PullRequest
30 голосов
/ 20 сентября 2011

Можно ли вставить в столбец BLOB в Oracle с помощью sqldeveloper?

то есть что-то вроде:

insert into mytable(id, myblob) values (1,'some magic here');

Ответы [ 3 ]

41 голосов
/ 29 января 2014

Чтобы вставить VARCHAR2 в столбец BLOB, вы можете положиться на функцию utl_raw.cast_to_raw следующим образом:

insert into mytable(id, myblob) values (1, utl_raw.cast_to_raw('some magic here'));

Он преобразует ваш ввод VARCHAR2 в тип данных RAW без изменения его содержимого, а затем вставит результат в столбец BLOB.

Подробнее о функции utl_raw.cast_to_raw

36 голосов
/ 20 сентября 2011

Да, это возможно, например, используя неявное преобразование из RAW в BLOB:

insert into blob_fun values(1, hextoraw('453d7a34'));

453d7a34 - это строка шестнадцатеричных значений, которая сначала явно преобразуется в тип данных RAW, а затем вставляетсяв столбец BLOB.Результатом является значение BLOB размером 4 байта.

0 голосов
/ 08 октября 2018
  1. вставить в mytable (id, myblob) значения (1, EMPTY_BLOB);
  2. SELECT * FROM mytable mt, где mt.id = 1 для обновления
  3. Нажмите на значок блокировки, чтобы разблокировать его для редактирования
  4. Нажмите на ... рядом с BLOBдля редактирования
  5. Выберите соответствующую вкладку и нажмите "Открыть" в левом верхнем углу.
  6. Нажмите кнопку "ОК" и подтвердите изменения.
...