如何在 SQL Developer 中编辑 XML 列?

How to edit XML column in SQL Developer?

我想编辑显示为 (XMLTYPE)XMLSQL 开发人员 编辑器(我点击该字段两次,编辑,然后保存)。

之后显示值变为sqldev.xml:/home/myuser/.sqldeveloper/tmp/XMLType8226206531089284015.xml

Build after save retrieving next build context...

Build after save building project 1 of 1 queued projects

Compiling...
  Ignoring /home/username/.sqldeveloper/tmp/XMLType5691884284875805681.xml; not on source path
[11:45:33 AM] Compilation complete: 0 errors, 1 warnings.

Build after save finished

当我尝试提交时:

UPDATE "USERNAME"."TABLENAME" SET  WHERE ROWID = 'AABWNKAAEAAABSbAAB' AND ORA_ROWSCN = '6951979'

One error saving changes to table "USERNAME"."TABLENAME":
Row 1: Illegal format in column NEXTCOLUMN.

我试图寻找这个错误并找到了也遇到过但没有解决方案的人。 如果您有如何向 Oracle 报告的建议,也会有所帮助。

希望对您有所帮助:

UPDATE table_name 
SET table_column=
   UPDATEXML(table_column,
   '/sampleTag1/sampleTag2/text()','value2')
   WHERE some_column = some value --<< this part is where you put your condition

您可以在此处找到更多相关信息: https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions205.htm

-------------------------

如果您的问题是通过 SQL 开发人员通过集成编辑器手动编辑,那么就我的测试和研究而言,这是因为 SQL 开发人员版本

您在评论中注意到您使用的是 4.1.x 版本,我发现很少有人确认他们在使用此版本时遇到了同样的问题.

我也有 4.1.x 版本,我也成功地重复了你的错误,开发人员指的是我的 ...\sqldeveloper\tmp 文件夹中的 .xml 文件不在其源代码中路径:

Compiling... Ignoring C:\Users\trle\AppData\Roaming\SQL Developer\tmp\XMLType6413036461637067751.xml; not on source path [4:33:29 PM] Compilation complete: 0 errors, 1 warnings.

然后我下载了版本19.2.x,没有这个问题,一切正常。

所以我对你的问题的回答是下载一些更新版本的 SQL developer。在我的情况下 19.2。作品。

-------------------------

更新 刚刚在版本 4.2.x 上测试过 - 也有效