空间数据首先应该在数据库中注册表中注册一个TableID(注册表为sde.table_registry,sde表空间下的表sde.table_registry),得到REGISTRATION_ID,然后在注册表的表空间下有A表和D表,添加的记录就在A表中,而删除的记录就在D表中,
而在数据重新读取时,会先读取注册表,然后从A表和D表中分别读取相关的,添加删除记录
-----------
在sde注册表中查询图形数据注册编号
------------
SELECT * FROM sde.table_registry T WHERE T.TABLE_NAME='HNLY10K_LQRH_XBM1'
-----------------------------
联合查询SDE数据AD表
-----------------------------
CREATE OR REPLACE VIEW BJ_ZY_EL_P_XBJ_2010VIEW AS
SELECT T.* FROM BJ_ZY_EL_P_XBJ_2010 T WHERE T.OBJECTID NOT IN (SELECT T.OBJECTID FROM A223 T UNION ALL SELECT S.SDE_DELETES_ROW_ID FROM D223 S) UNION ALL
SELECT T.* FROM A223 T, (SELECT D.OBJECTID, MAX(D.SDE_STATE_ID) AS SDE_STATE_ID FROM A223 D GROUP BY D.OBJECTID) S
WHERE T.OBJECTID = S.OBJECTID AND T.SDE_STATE_ID = S.SDE_STATE_ID AND T.OBJECTID NOT IN (SELECT SDE_DELETES_ROW_ID FROM D223) UNION ALL
<
而在数据重新读取时,会先读取注册表,然后从A表和D表中分别读取相关的,添加删除记录
-----------
在sde注册表中查询图形数据注册编号
------------
SELECT * FROM sde.table_registry T WHERE T.TABLE_NAME='HNLY10K_LQRH_XBM1'
-----------------------------
联合查询SDE数据AD表
-----------------------------
CREATE OR REPLACE VIEW BJ_ZY_EL_P_XBJ_2010VIEW AS
SELECT T.* FROM BJ_ZY_EL_P_XBJ_2010 T WHERE T.OBJECTID NOT IN (SELECT T.OBJECTID FROM A223 T UNION ALL SELECT S.SDE_DELETES_ROW_ID FROM D223 S) UNION ALL
SELECT T.* FROM A223 T, (SELECT D.OBJECTID, MAX(D.SDE_STATE_ID) AS SDE_STATE_ID FROM A223 D GROUP BY D.OBJECTID) S
WHERE T.OBJECTID = S.OBJECTID AND T.SDE_STATE_ID = S.SDE_STATE_ID AND T.OBJECTID NOT IN (SELECT SDE_DELETES_ROW_ID FROM D223) UNION ALL
<