I am not positiveHowever, I am speculating the registering (the therefore creating/requiring a objectid) may be what is preventing identifying from workingIf you dont have an objectid, i like to use rownum in the view cast (as number) to objectid. That way its always uniquehere is our sample view that i expose with server/* Formatted on 2/7/2014 5:15:27 PM (QP5 v5.163.1008.3004) */
CREATE OR REPLACE FORCE VIEW MCGIS.BUILDINGS_LUC_VIEW
(
SHAPE,
PARCELID,
OBJECTID,
LUC,
LUC_RAW
)
AS
SELECT buildings.shape,
buildings.parcelid,
ROWNUM objectid,
CASE
WHEN gis_parcels_view.luc = '2000'
THEN
'AIRPORTS'
WHEN gis_parcels_view.luc IN ('2802', '0002')
THEN
'MOBILE HOME'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '0200'
AND TO_NUMBER (gis_parcels_view.luc) <= '0205'
THEN
'MOBILE HOME'
WHEN gis_parcels_view.luc IN ('7500', '9902')
THEN
'RESIDENTIAL'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '0000'
AND TO_NUMBER (gis_parcels_view.luc) <= '0200'
THEN
'RESIDENTIAL'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '0300'
AND TO_NUMBER (gis_parcels_view.luc) <= '0805'
THEN
'RESIDENTIAL'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '4300'
AND TO_NUMBER (gis_parcels_view.luc) <= '4600'
THEN
'AGRICULTURAL'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '5100'
AND TO_NUMBER (gis_parcels_view.luc) <= '6999'
THEN
'AGRICULTURAL'
WHEN gis_parcels_view.luc IN ('7200', '8300', '8400')
THEN
'EDUCATION'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '8600'
AND TO_NUMBER (gis_parcels_view.luc) <= '9002'
THEN
'GOVERNMENT'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '2001'
AND TO_NUMBER (gis_parcels_view.luc) <= '2004'
THEN
'TRANSPORTATION'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '8600'
AND TO_NUMBER (gis_parcels_view.luc) <= '9002'
THEN
'GOVERNMENT'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '7300'
AND TO_NUMBER (gis_parcels_view.luc) <= '7400'
THEN
'MEDICAL'
WHEN gis_parcels_view.luc = '7800'
THEN
'MEDICAL'
WHEN gis_parcels_view.luc = '8500'
THEN
'MEDICAL'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '7100'
AND TO_NUMBER (gis_parcels_view.luc) < '7200'
THEN
'RELIGIOUS'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '3100'
AND TO_NUMBER (gis_parcels_view.luc) < '3300'
THEN
'CULTURAL'
WHEN gis_parcels_view.luc IN ('7900', '3500', '7700')
THEN
'CULTURAL'
WHEN gis_parcels_view.luc = '3900'
THEN
'HOTEL'
WHEN TO_NUMBER (gis_parcels_view.luc) > '3999'
AND TO_NUMBER (gis_parcels_view.luc) < '4300'
THEN
'INDUSTRIAL'
WHEN gis_parcels_view.luc IN ('9100', '9200', '9600', '4700')
THEN
'INDUSTRIAL'
WHEN (TO_NUMBER (gis_parcels_view.luc) >= '3700'
AND TO_NUMBER (gis_parcels_view.luc) <= '3800')
THEN
'RECREATION'
WHEN gis_parcels_view.luc IN ('8200', '9700', '3400', '3600')
THEN
'RECREATION'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '1000'
AND TO_NUMBER (gis_parcels_view.luc) <= '1904'
THEN
'COMMERCIAL'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '2100'
AND TO_NUMBER (gis_parcels_view.luc) <= '2800'
THEN
'COMMERCIAL'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '3300'
AND TO_NUMBER (gis_parcels_view.luc) <= '3400'
THEN
'COMMERCIAL'
WHEN gis_parcels_view.luc IN ('2900', '3000')
THEN
'COMMERCIAL'
WHEN TO_NUMBER (gis_parcels_view.luc) >= '4800'
AND TO_NUMBER (gis_parcels_view.luc) <= '4999'
THEN
'WAREHOUSE'
ELSE
'GENERAL'
END
luc,
gis_parcels_view.luc luc_raw
FROM mcgis.buildings
LEFT OUTER JOIN
mcgis.gis_parcels_view
ON buildings.parcelid = gis_parcels_view.selectpin;
GRANT DELETE, INSERT, SELECT, UPDATE ON MCGIS.BUILDINGS_LUC_VIEW TO METADATA;
GRANT SELECT ON MCGIS.BUILDINGS_LUC_VIEW TO SDE WITH GRANT OPTION;
GRANT SELECT ON MCGIS.BUILDINGS_LUC_VIEW TO SDEVIEWER;