Überprüfen und Modifizieren des SQL-Upgrade-Scripts
Wenn in derInteract-Laufzeitumgebung Laufzeitsystemtabellen mit Anpassungen vorhanden sind, mit denen die in Interact enthaltene standardmäßige Data Definition Language (DDL) geändert wurde, müssen Sie das Standard-SQL-Upgrade-Script für Ihre Datenbank so ändern, dass es den Anpassungen entspricht.
Häufige Anpassungen sind etwa Änderungen zur Unterstützung mehrerer Zielgruppenebenen oder zur Verwendung von Tabellenansichten. Sie können anhand der Datenverzeichnisse für die neuen Versionen von IBM® Produkten prüfen, ob die Spaltengrößen ordnungsgemäß zugeordnet werden und ob Integritätsbedingungen von Zusatzprodukten Konflikte verursachen.
aci_runtab_upgrd und aci_usrtab_upgrd sind die SQL-Upgrade-Scripts, für die am wahrscheinlichsten Überarbeitungen notwendig sind.
*
Führen Sie folgende Schritte aus, um das SQL-Upgrade-Script zu überprüfen und zu modifizieren:
1.
Suchen Sie das Upgradescript für Ihren Datenbanktyp. Die Scripts befinden sich im Verzeichnis /ddl/Upgrades bzw. /ddl/Upgrades/Unicode in der Interact-Installation, nachdem Sie das IBM® EMM-Installationsprogramm im Upgrademodus ausgeführt haben.
2.
Stellen Sie sicher, dass das Datenbankschema der in Interact enthaltenen Data Definition Language (DLL) entspricht. Sollte das Datenbankschema nicht der DLL im Updatescript entsprechen, bearbeiten Sie das Script so, dass der Datenbanktyp Ihrer Umgebung entspricht.
Das folgende Beispiel zeigt die für die Unterstützung der Zielgruppenebene "Haushalt" erforderlichen Änderungen des SQL-Upgrade-Scripts aci_runtab_upgrd:
Die vorhandene Interact-Designzeitumgebung enthält eine zusätzliche Zielgruppenebene mit der Bezeichnung "Haushalt". Zur Unterstützung dieser Zielgruppenebene enthält die Interact-Laufzeitumgebungsdatenbank Tabellen mit den Bezeichnungen "HH_CHStaging" und "HH_RHStaging".
Erforderliche Änderungen am Upgrade-Script:
a.
b.
Die folgenden SQL-Beispielanweisungen zeigen die erforderlichen Ergänzungen des Scripts aci_runtab_upgrd_sqlsvr.sql für eine SQL Server-Datenbank mit der Zielgruppenebene "Haushalt". Der für die Unterstützung der Zielgruppenebene "Haushalt" hinzugefügte Text wird in diesem Beispiel fett dargestellt:
ALTER TABLE UACI_CHStaging ADD RTSelectionMethod int NULL
go

ALTER TABLE UACI_RHStaging ADD RTSelectionMethod int NULL
go

ALTER TABLE HH_CHStaging ADD RTSelectionMethod int NULL
go

ALTER TABLE HH_RHStaging ADD RTSelectionMethod int NULL
go


insert into UACI_IdsByType (TypeID, NextID) (select 2,
IDENT_CURRENT('UACI_RHStaging') + IDENT_CURRENT('HH_RHStaging')
+ IDENT_INCR( 'UACI_RHStaging' ))
go

select * into UACI_RHStaging_COPY from UACI_RHStaging
go

select * into HH_RHStaging_COPY from HH_RHStaging
go


DROP TABLE UACI_RHStaging
go

CREATE TABLE UACI_RHStaging (
SeqNum bigint NOT NULL,
TreatmentCode varchar(512) NULL,
CustomerID bigint NULL,
ResponseDate datetime NULL,
ResponseType int NULL,
ResponseTypeCode varchar(64) NULL,
Mark bigint NOT NULL
DEFAULT 0,
UserDefinedFields char(18) NULL,
RTSelectionMethod int NULL,
CONSTRAINT iRHStaging_PK
PRIMARY KEY (SeqNum ASC)
)
go

insert into UACI_RHStaging (SeqNum, TreatmentCode, CustomerID, ResponseDate,
ResponseType, ResponseTypeCode, Mark, UserDefinedFields, RTSelectionMethod)
(select SeqNum, TreatmentCode, CustomerID, ResponseDate, ResponseType,
ResponseTypeCode, Mark, UserDefinedFields, RTSelectionMethod from
UACI_RHStaging_COPY)
go

DROP TABLE UACI_RHStaging_COPY
go

DROP TABLE HH_RHStaging
go

CREATE TABLE HH_RHStaging (
SeqNum bigint NOT NULL,
TreatmentCode varchar(512) NULL,
HouseholdID bigint NULL,
ResponseDate datetime NULL,
ResponseType int NULL,
ResponseTypeCode varchar(64) NULL,
Mark bigint NOT NULL
DEFAULT 0,
UserDefinedFields char(18) NULL,
RTSelectionMethod int NULL,
CONSTRAINT iRHStaging_PK
PRIMARY KEY (SeqNum ASC)
)
go

insert into HH_RHStaging (SeqNum, TreatmentCode, HouseHoldID, ResponseDate,
ResponseType, ResponseTypeCode, Mark, UserDefinedFields, RTSelectionMethod)
(select SeqNum, TreatmentCode, HouseHoldID, ResponseDate, ResponseType,
ResponseTypeCode, Mark, UserDefinedFields, RTSelectionMethod from
HH_RHStaging_COPY)
go

DROP TABLE HH_RHStaging_COPY
go
Bei DB2®- und Oracle-Datenbanken wird zum Einfügen der Werte in die Tabelle "UACI_IdsByType" folgende Anweisung verwendet:
INSERT into UACI_IdsByType (TypeID, NextID)  
(select 2, COALESCE(max(a.seqnum)+1,1)
+ COALESCE(max(b.seqnum)+1,1)
from UACI_RHSTAGING a, ACCT_UACI_RHSTAGING b );
Bei mehreren Zielgruppen müssen Sie dem SQL-Script aci_usrtab_upgrd für jede Zielgruppenebene die folgenden Abschnitte hinzufügen:
ALTER TABLE HH_ScoreOverride  ADD 
OverrideTypeID int NULL,
CellCode varchar(64) NULL,
Zone varchar(64) NULL
go

ALTER TABLE HH_ScoreOverride ADD
Predicate varchar(4000) NULL,
FinalScore float NULL,
EnableStateID int NULL
go

CREATE INDEX iScoreOverride_IX1 ON HH_ScoreOverride
(
HouseHoldID ASC
)
go