2017-08-16 101 views
1

我正在使用SQL Developer 4.2.0.17.089 我需要使用包含「;」的字符串執行更新。 具體做法是:如何插入包含「;」的字符串

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開發4.1.3.20工作後沒有正確結束 。

有什麼想法?

回答

0

這似乎是SQL Developer 4.2中的一個錯誤(雖然我找不到任何與MoS或SD foum相關的東西);它在17.2也可以工作。由於sqlterminator已過時且被忽略,我可以在4.2中看到解決它的唯一方法是將您的語句放在一個虛擬的匿名PL/SQL塊中 - 當它知道PL/SQL塊中的分號時,它不會被分號混淆, 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