<*为梦齐舞>
Oracle中普通表转为点数据集的一般方式为将普通表通过某种方式转化为纯属性数据集,然后通过纯属性数据集中相应的字段转化为点数据集。但是这个操作过程往往由于数据量大,会导致操作起来效率不高,下面我们将介绍一种直接修改参数将普通表转化为点数据集的方法。
1、 查看表结构,假设某张普通表中已经包含存储XY值的字段(图1),且类型为NUMBER(38,16)。
图1 表结构
2、 为数据表添加相应的系统字段:SMID(INTEGER)、SMLIBTILEID(INTEGER)、SMUSERID(INTEGER);并且将X字段名称修改为SMX,并且将Y字段名称修改为SMY。修改结果如下图3:
图3 修改后的字段
3、 输入SMID字段值,使用UPDATA MYTABLE SET MYTABLE.SMID=ROWNUM语句更新SMID字段值,如图4。
图4 更新SMID值
4、 再次修改表结构,设置字段是否可为空和为SMID创建Primary键值。
图5 设置可为空选项
图6 创建键值
5、 新建一个名称为SM_IDX_MYTABLE的表,包含如下字段ID(INTEGER)、DATASIZE(INTEGER)、IDXDATA(LONG RAW);ID字段不可为空。为ID字段创建Primary键值。
图7 字段创建
图8 创建键值
6、 修改SMREGISTER表,增加一条数据集记录。
图9 修改对应数据表名
图10 修改数据集类型和记录数
7、修改SMREGISTER表,修改数据集范围以及其他参数, SMLEFT等于SMX最小值、SMRIGHT等于SMX最大值、SMTOP等于SMY最大值、SMBOTTOM等于SMY最小值。可以使用“SELECT MAX(表名.字段名) FROM 表名”查询字段最大值,“SELECT MIN(表名.字段名) FROM 表名”查询字段最小值。修改结果如图11。
图11 修改数据集范围
图 12 其他参数设置
图 13 其他参数设置
8、 此时在数据源中已经可以看到相应的数据集(图14),但是会发现数据集还无法进行编辑。
图14 查看数据集
9、 针对步骤7中的问题,我们需要为数据集创建序列。如图15
图15 创建序列
10、 此时的数据集已经可以正常进行绘制,如图16
图 16 添加记录