如何在Oracle中更新包含HTML代码的BLOB列

时间:2013-09-25 06:11:31

标签: oracle oracle11g

我想用HTML更新Oracle DB中的BLOB列。 我使用的是Oracle Oracle Database 11g 11.2.0.3.0版

该列包含将在JSP Servlets的前端使用的HTML代码。应使用以下代码更新单元格的内容

<table width="100%" border="0" cellspacing="0">
 <tbody>
     <tr>
       <td height="130">&nbsp;</td>
     </tr>
     <tr>
       <td height="130">&copy; 2013</td>
     </tr>
 </tbody>
</table>

上面的代码是格式化的。整个事情是单行。现在我运行更新查询,如下所示,显示消息

  UPDATE TemplateTbl
     SET TemplateConetent = (RAWTOHEX (UTL_RAW.cast_to_raw ('<table width="100%" border="0" cellspacing="0"><tbody><tr><td height="130">&nbsp;</td></tr><tr><td height="130">&copy; 2013</td></tr></tbody></table>')))
   WHERE TemplateId = TL2600

现在oracle因为©和

而要求变量值

enter image description here

我尝试在&amp; copy和&amp; nbsp前面使用下划线,反斜杠和百分比。但没有任何效果。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

1,sql plus或plsql命令窗口

set define off;

UPDATE TemplateTbl
     SET TemplateConetent = (RAWTOHEX (UTL_RAW.cast_to_raw ('<table width="100%" border="0" cellspacing="0"><tbody><tr><td height="130">&nbsp;</td></tr><tr><td height="130">&copy; 2013</td></tr></tbody></table>')))
   WHERE TemplateId = TL2600

答案 1 :(得分:2)

HTML是纯文本,为此使用(N)CLOB。