如何插入包含“;”的字符串

时间:2017-08-16 10:27:58

标签: oracle-sqldeveloper

我正在使用SQL Developer 4.2.0.17.089 我需要使用包含&#34 ;;"的字符串执行更新。 具体做法是:

update <table_name> set <field_name>='....
 <style>
    .SectionHeading {
                    font-size: 12pt;
                    font-weight: bold;
                    font-family:Calibri;
                    color:#548DD4;
    }
    </style>
....'
where <condition>;

无论我做什么,我都会得到 SQL错误:ORA-01756:引用的字符串未正确终止 在第一个分号之后

它完全适用于SQL Developer 4.1.3.20。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这似乎是SQL Developer 4.2中的一个错误(尽管我找不到任何与MoS或SD foum相关的内容);它也适用于17.2。由于sqlterminator已经过时并被忽略,我在4.2中可以看到解决它的唯一方法是将你的语句包含在一个虚拟的匿名PL / SQL块中 - 它不会被分号混淆在PL / SQL上下文中知道它:

begin
-- start real code
update <table_name> set <field_name>='....
 <style>
    .SectionHeading {
                    font-size: 12pt;
                    font-weight: bold;
                    font-family:Calibri;
                    color:#548DD4;
    }
    </style>
....'
where <condition>;
-- end real code
end;
/

哪个不理想。如果你能够的话,更好的解决方案可能是upgrade to the current version