如何在 SQL Developer 中编辑 XML 列?
How to edit XML column in SQL Developer?
我想编辑显示为 (XMLTYPE) 的 XML 列 SQL 开发人员 编辑器(我点击该字段两次,编辑,然后保存)。
之后显示值变为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 上测试过 - 也有效
我想编辑显示为 (XMLTYPE) 的 XML 列 SQL 开发人员 编辑器(我点击该字段两次,编辑,然后保存)。
之后显示值变为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 上测试过 - 也有效