我们可以使用 SQL 更新来更新 CLOB 列的 html 数据吗?

Posted

技术标签:

【中文标题】我们可以使用 SQL 更新来更新 CLOB 列的 html 数据吗?【英文标题】:Can we update html data of CLOB column by using SQL update? 【发布时间】:2021-10-25 11:17:44 【问题描述】:

我有需要在一个 clob 列中更新的 html 代码,如何将其转换为 sql 更新字符串? 我的第二个问题是如何插入 ® 和 & 存在于这个 html 代码中。

<html>
<head>
<style></style>
</head>
<body>
     <div>
      <div align="center" style="font-size:11pt;font-family:Calibri,sans-serif;">
            <b> card<sup><font size='3'>&reg;</font></sup>  Card  Notification</b>
            <br />
        </div>
        <hr />
        <p style="font-size:11pt;font-family:Calibri,sans-serif;">
            The online statement for your  card provided by company name and issued by Com is now available. Select the Account Maint. &amp; Statement tab to view your statement.
        </p>
        <p style="font-size:10pt;font-family:Calibri,sans-serif;">
            Equal Opportunity Lender.
        </p>
        <p style="font-size:10pt;font-family:Calibri,sans-serif;">
            This Card is issued  International Incorporated.
        </p>
      </div>
  </body>
</html>  

【问题讨论】:

【参考方案1】:

一种选择是使用quotation。如果你使用sqlplus

set define off
update my table 
set my_clob_column = q'[ <html>
<head>
<style></style>
</head>
<body>
     <div>
      <div align="center" style="font-size:11pt;font-family:Calibri,sans-serif;">
            <b> card<sup><font size='3'>&reg;</font></sup>  Card  Notification</b>
            <br />
        </div>
        <hr />
        <p style="font-size:11pt;font-family:Calibri,sans-serif;">
            The online statement for your  card provided by company name and issued by Com is now available. Select the Account Maint. &amp; Statement tab to view your statement.
        </p>
        <p style="font-size:10pt;font-family:Calibri,sans-serif;">
            Equal Opportunity Lender.
        </p>
        <p style="font-size:10pt;font-family:Calibri,sans-serif;">
            This Card is issued  International Incorporated.
        </p>
      </div>
  </body>
</html>  ]' 
where ........... 

【讨论】:

是的,这是获得解决方案的方法,只需要问一件事如何处理 & ® .您的解决方案正在运行,但只需要插入 & ®,那是在 html 代码中..你知道吗? 如果您使用sqlplus,则使用set define off。我更新了帖子 @vim 那么这是一个蟾蜍问题。它必须有办法禁用替换变量或使用不同的字符。热门:support.quest.com/toad-for-oracle/kb/11560/… @vim,你可以同样使用 Toad,但是将它作为脚本运行 (F5) @vim,不客气。很高兴它有帮助。

以上是关于我们可以使用 SQL 更新来更新 CLOB 列的 html 数据吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不修改数据库模式的情况下仅使用 PL/SQL 更新具有大值的 CLOB?

UPDATEXML 抛出 SQL 错误:ORA-00927:尝试转换和更新 CLOB 数据类型时缺少等号

oracle更新clob字段的问题

如何使用 oracle sql 命令查找 clob 数据列的特定子部分(实际存储字符)?

SQL 使用值列表更新一列的所有行

spring + mybatis 存取clob