[Home] [Help]
TRIGGER: MDSYS.OGIS_CRS_INSERT_TRIGGER
Source
Description
MDSYS.OGIS_CRS_INSERT_TRIGGER
BEFORE
INSERT
ON
MDSYS.ogis_spatial_reference_systems
FOR EACH ROW
Type
BEFORE EACH ROW
Event
INSERT
Column
When
Referencing
REFERENCING NEW AS NEW OLD AS OLD
Body
BEGIN
IF(nls_upper(TRIM(:new.srtext)) like 'GEOGCS%') THEN
insert into MDSYS.sdo_coord_ref_system (
SRID,
COORD_REF_SYS_NAME,
COORD_REF_SYS_KIND,
COORD_SYS_ID,
DATUM_ID,
GEOG_CRS_DATUM_ID,
SOURCE_GEOG_SRID,
PROJECTION_CONV_ID,
CMPD_HORIZ_SRID,
CMPD_VERT_SRID,
INFORMATION_SOURCE,
DATA_SOURCE,
IS_LEGACY,
LEGACY_CODE,
LEGACY_WKTEXT,
LEGACY_CS_BOUNDS,
IS_VALID,
SUPPORTS_SDO_GEOMETRY)
VALUES (
:new.SRID,
'OGIS ' || :new.SRID,
'GEOGRAPHIC2D',
NULL,
1000000123,
1000000123,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
'TRUE',
NULL,
:new.SRTEXT,
NULL,
'TRUE',
'TRUE');
ELSE
insert into MDSYS.sdo_coord_ref_system (
SRID,
COORD_REF_SYS_NAME,
COORD_REF_SYS_KIND,
COORD_SYS_ID,
DATUM_ID,
GEOG_CRS_DATUM_ID,
SOURCE_GEOG_SRID,
PROJECTION_CONV_ID,
CMPD_HORIZ_SRID,
CMPD_VERT_SRID,
INFORMATION_SOURCE,
DATA_SOURCE,
IS_LEGACY,
LEGACY_CODE,
LEGACY_WKTEXT,
LEGACY_CS_BOUNDS,
IS_VALID,
SUPPORTS_SDO_GEOMETRY)
VALUES (
:new.SRID,
'OGIS ' || :new.SRID,
'PROJECTED',
NULL,
NULL,
1000000123,
1000000123,
NULL,
NULL,
NULL,
NULL,
NULL,
'TRUE',
NULL,
:new.SRTEXT,
NULL,
'TRUE',
'TRUE');
END IF;
END;