2013-11-29 3 views
0

я хочу обновить тип столбца имя_образа данных подъязычная с использованием image1 типа данных столбца является VARCHARКак конвертировать OID типа данных в VARCHAR во Updation

во время Updation я получаю сообщение об ошибке, как

обновления mst_memberdetail набора имя_образ = image1;

колонка «образ» имеет тип подъязычная, но выражение имеет тип характера различной

может у пожалуйста, скажите мне, как преобразовать явно тип данных

+0

Извините - я не уверен, что ваш вопрос имеет смысл. Вы не можете хранить текст в столбце с идентификатором OID. Вы не можете хранить числа в столбцах или точках даты в числовых столбцах. Почему вы пытаетесь это сделать? Почему имя_файла не содержит имени изображения (оно не может, если это столбец OID)? –

ответ

0

Я предполагаю, что image1 является OID, который относится к LOB? Если это так, вы, вероятно, не хотите обновлять это непосредственно в varchar, так как вы получите экранированный двоичный файл (возможно, шестнадцатеричный). Это то, что вы хотите сделать в клиентской библиотеке, а не в бэкэнде db, если это ваш прецедент.

В качестве альтернативы вы можете написать функцию PL/Perl для unescape двоичного кода и использовать функции lo_ * для ее чтения, передать ее PL/Perl и обновить varchar, но если у вас возникнут проблемы с кодировкой, он будет медленным.

Если вы используете лобы, я бы просто рекомендовал оставить их как есть.

Смежные вопросы