想通过调用过程 通过参数为指定表 制定字段 创建空间索引
语法 
CREATE INDEX TABLE_NAME_SX ON TABLE_NAME(COLUMN_NAME) INDEXTYPE IS MDSYS.SPATIAL_INDEX
单独执行没有问题,但是当调用 
EXECUTE IMMEDIATE 'CREATE INDEX TABLE_NAME_SX ON TABLE_NAME(COLUMN_NAME) INDEXTYPE IS MDSYS.SPATIAL_INDEX'就报错 具体错误代码是
ORA-29855;ORA-13249;ORA-13233;ORA-29400;ORA-01031;ORA-06512;
不知道那位高手能帮忙解决一下~

解决方案 »

  1.   

    你的pl/sql有没权限执行index或对table进行操作?
      

  2.   

    你说的我不太明白~我都是在 PLSQL 里面同一个用户下执行的,用户权限 CREATE ANY INDEX
    也有对象SDO_INDEX_METHOD_9I 的execute 权限,不知道你说的是不是这些~
      

  3.   

    我的数据库是Oracle9i 怎么没有MDSYS.SPATIAL_INDEX, MDSYS倒是有
    可能是权限问题,就是能不能创建索引,您试试给一个空表创建普通索引试试,如果可以那应该可以排除权限问题,
    当然有没有访问 MDSYS.SPATIAL_INDEX 的权限我就不知道怎么测试了