刚刚接触oracle开发,很多疑惑,希望大家帮帮忙哈。
我看的是oracle spatial 11g的书,用10g进行开发练习。
数据表字段就NUMBER ID和SDO_GEOMETRY GEOM。
在PL里面写插入点构造的函数如下,既没报错也没成功插入。这是什么情况呢?请问怎么解决呢?
create or replace function point(x number,y number,srid number default 8307)
return sdo_geometry
deterministic
is
r sdo_geometry;
begin
  r:= sdo_geometry(2001,srid,sdo_point_type(x,y,null),null,null);
  return r;
  end;
------调用
  update oracle_spatial_test1 set geom=point(100,30,8307) where id=1;

解决方案 »

  1.   

    缺少COMMIT?如何确定没有插入成功?没有查询到?从语句上看是没有COMMIT;
      

  2.   

    我直接打书本的代码上去的。上面没有COMMIT,我也不清楚COMMIT怎么用呢
      

  3.   

    楼主,你刚开始学就拿着spatial学习?有点难道啊,我刚入GIS行业,正准备学习呢,上海图书馆的那本书被人借走了,难道是你?
      

  4.   

    呵呵。不是啊。。我不在上海。。
    我是学GIS的,刚刚毕业。对arcgis engine,arcgis mobile,desktop,还有supermap object都有一定的了解。对oracle使用都是简单的增删改查,非常薄弱。必须要加强才行。
      

  5.   

    return r 放到最后,因为return后不会执行下面的update了
      

  6.   

    非常感谢大家的帮忙。
    我已经找到了原因所在了。
    在END后一行的第一列加一个斜杠“/”,查了查,自己理解为“执行”的意思。