我有一个单一的几何字段更改单个条例的值甲骨文 - 在表中在几何形状区域
select g3e_GEOMETRY from MyTable
where g3e_FID = 15463352
这返回
(3001,(,,),(1, 1,1,4,1,0,...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,...,...,...,...,...,...,..., ,...,(1920181.3264,5801197.1585,0,0.345448182564728,0.93843782594412,0,...,,,,,,,,,,,,,,,,,,,, ,...,...,...,...,...,...,..., ,,,,,,,,,,,,,,,,))
技术上一样
SELECT SDO_GEOMETRY(3001,NULL,NULL,
SDO_ELEM_INFO_ARRAY(1,1,1,4,1,0),
SDO_ORDINATE_ARRAY(1920181.3264, 5801197.1585, 0, 0.345448182564728, 0.93843782594412, 0)) AS g3e_GEOMETRY
FROM dual;
现在我想改变0.93843782594412值说1.5
我可以从sdo_ordinances功能
select g.* from table(select p.g3e_GEOMETRY.sdo_ordinates from MyTable p
where g3e_FID = 15463352) g;
这会返回一个表叫做COLUMN_VALUE
一列得到各个位1920181.3264
5801197.1585
0
0.345448182564728
0.93843782594412
0
但我现在不知道创建更新语句,这样我就可以更新0.93843782594412值1.5所需的SQL。
从我一直在阅读你必须一次更新整个sdo_ordinate数组。所以真的我需要生成下面的行(旧值+我的替换值)
SDO_ORDINATE_ARRAY(1920181.3264, 5801197.1585, 0, 0.345448182564728, 1.5, 0)
任何想法赞赏。
Chris
你试过'REPLACE'功能吗? – RubahMalam