-- Licensed to the Apache Software Foundation (ASF) under one or more -- contributor license agreements. See the NOTICE file distributed with -- this work for additional information regarding copyright ownership. -- The ASF licenses this file to You under the Apache License, Version 2.0 -- (the "License"); you may not use this file except in compliance with -- the License. You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. CREATE OR REPLACE PROCEDURE spdropsequence(ObjName IN varchar2) IS v_counter integer; BEGIN select count(*) into v_counter from user_sequences where sequence_name = upper(ObjName); if (v_counter > 0) then execute immediate 'DROP SEQUENCE ' || ObjName; end if; END;/ / call spdropsequence('X_RMS_SERVICE_RESOURCE_SEQ'); call spdropsequence('X_RMS_NOTIFICATION_SEQ'); call spdropsequence('X_RMS_RESOURCE_MAPPING_SEQ'); call spdropsequence('X_RMS_MAPPING_PROVIDER_SEQ'); commit; CREATE SEQUENCE X_RMS_SERVICE_RESOURCE_SEQ START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE; CREATE SEQUENCE X_RMS_NOTIFICATION_SEQ START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE; CREATE SEQUENCE X_RMS_RESOURCE_MAPPING_SEQ START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE; CREATE SEQUENCE X_RMS_MAPPING_PROVIDER_SEQ START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE; CREATE OR REPLACE PROCEDURE spdroptable(ObjName IN varchar2) IS v_counter integer; BEGIN select count(*) into v_counter from user_tables where table_name = upper(ObjName); if (v_counter > 0) then execute immediate 'drop table ' || ObjName || ' cascade constraints'; end if; END;/ / call spdroptable('X_RMS_NOTIFICATION'); call spdroptable('X_RMS_RESOURCE_MAPPING'); call spdroptable('X_RMS_MAPPING_PROVIDER'); call spdroptable('X_RMS_SERVICE_RESOURCE'); CREATE TABLE x_rms_service_resource( id NUMBER(20) NOT NULL, guid VARCHAR(1024) DEFAULT NULL NULL, create_time DATE DEFAULT NULL NULL, update_time DATE DEFAULT NULL NULL, added_by_id NUMBER(20) DEFAULT NULL NULL, upd_by_id NUMBER(20) DEFAULT NULL NULL, version NUMBER(20) DEFAULT NULL NULL, service_id NUMBER(20) NOT NULL, resource_signature VARCHAR(128) DEFAULT NULL NULL, is_enabled NUMBER(1) DEFAULT '1' NOT NULL, service_resource_elements_text CLOB DEFAULT NULL NULL, primary key (id), CONSTRAINT x_rms_service_res_UK_guid UNIQUE (guid), CONSTRAINT x_rms_svc_res_FK_service_id FOREIGN KEY (service_id) REFERENCES x_service (id) ); CREATE INDEX x_rms_svc_res_IDX_service_id ON x_rms_service_resource(service_id); CREATE TABLE x_rms_notification ( id NUMBER(20) NOT NULL, hms_name VARCHAR(128) DEFAULT NULL NULL, notification_id NUMBER(20) DEFAULT NULL NULL, change_timestamp DATE DEFAULT NULL NULL, change_type VARCHAR(64) DEFAULT NULL NULL, hl_resource_id NUMBER(20) DEFAULT NULL NULL, hl_service_id NUMBER(20) DEFAULT NULL NULL, ll_resource_id NUMBER(20) DEFAULT NULL NULL, ll_service_id NUMBER(20) DEFAULT NULL NULL, PRIMARY KEY (id), CONSTRAINT x_rms_notis_FK_hl_service_id FOREIGN KEY(hl_service_id) REFERENCES x_service(id), CONSTRAINT x_rms_notis_FK_ll_service_id FOREIGN KEY(ll_service_id) REFERENCES x_service(id) ); CREATE INDEX x_rms_notis_IDX_notis_id ON x_rms_notification(notification_id); CREATE INDEX x_rms_notis_IDX_hms_notis_id ON x_rms_notification(hms_name, notification_id); CREATE INDEX x_rms_notis_IDX_hl_svc_id ON x_rms_notification(hl_service_id); CREATE INDEX x_rms_notis_IDX_ll_svc_id ON x_rms_notification(ll_service_id); CREATE TABLE x_rms_resource_mapping( id NUMBER(20) NOT NULL, change_timestamp DATE DEFAULT NULL NULL, hl_resource_id NUMBER(20) NOT NULL, ll_resource_id NUMBER(20) NOT NULL, PRIMARY KEY (id), CONSTRAINT x_rms_res_map_UK_hl_id_ll_id UNIQUE(hl_resource_id, ll_resource_id), CONSTRAINT x_rms_res_map_FK_hl_res_id FOREIGN KEY(hl_resource_id) REFERENCES x_rms_service_resource(id), CONSTRAINT x_rms_res_map_FK_ll_res_id FOREIGN KEY(ll_resource_id) REFERENCES x_rms_service_resource(id) ); CREATE INDEX x_rms_res_map_IDX_hl_svc_id ON x_rms_resource_mapping(hl_resource_id); CREATE INDEX x_rms_res_map_IDX_ll_svc_id ON x_rms_resource_mapping(ll_resource_id); CREATE TABLE x_rms_mapping_provider ( id NUMBER(20) NOT NULL, change_timestamp DATE DEFAULT NULL NULL, name VARCHAR(128) NOT NULL, last_known_version NUMBER(20) NOT NULL, PRIMARY KEY (id), CONSTRAINT x_rms_map_provider_UK_name UNIQUE(name) ); commit;