Beispiel für die Änderung des SQL-Upgrade-Scripts
Das folgende Beispiel zeigt erforderliche Änderungen des SQL-Upgrade-Scripts aci_runtab_upgrd für die Unterstützung zusätzlicher Zielgruppenebenen.
Der vorhandenen Interact-Designumgebung wird eine zusätzliche Zielgruppenebene mit der Bezeichnung Haushalt (Household) hinzugefügt. Zur Unterstützung dieser Zielgruppenebene werden zu der Interact-Laufzeitumgebungsdatenbank Tabellen mit der Bezeichnung HH_CHStaging und HH_RHStaging hinzugefügt.
Erforderliche Änderungen des Upgradescripts
Suchen Sie im SQL-Upgrade-Script den Codeabschnitt für die Aktualisierung des Antwortverlaufs und Behandlungsgrößen für die Zielgruppenebene Kunde (Customer) und replizieren Sie ihn für die Zielgruppenebene Haushalt. Ändern Sie die Tabellennamen in diesen Anweisungen auf die entsprechenden Namen für die Zielgruppenebene Haushalt.
Daneben müssen Sie das SQL-Script so ändern, dass es die Änderungen des Datentyps für die Spalte SeqNum in der Tabelle UACI_RHStaging unterstützt. Der Wert für SeqNum ist eine fortlaufende Zahl für alle Antwortverlaufstabellen. Der nächste verwendete Wert stammt aus der Spalte NextID in der Tabelle UACI_IdsByType mit dem TypeID-Wert 2. Im Beispiel sind drei Zielgruppenebenen vorhanden: Kunde, Haushalt und Konto. In der Kundenantwortverlaufs-Staging-Tabelle ist der höchste Wert für SeqNum 50. In der Haushaltantwortverlaufs-Staging-Tabelle ist der höchste Wert für SeqNum 75. In der Kontoantwortverlaufs-Staging-Tabelle ist der höchste Wert fü SeqNum 100. Sie müssen daher das SQL-Script so abändern, dass die NextID für TypeID = 2 in UACI_IdsByType auf 101 gesetzt wird.
Die folgenden SQL-Beispielanweisungen zeigen die erforderlichen Ergänzungen des Scripts aci_runtab_upgrd_sqlsvr.sql für eine SQL Server-Datenbank, die die Zielgruppenebene Haushalt (Household) enthält. Der für die Zielgruppenebene Haushalt geänderte Text ist in Fettdruck 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 die folgende Anweisung verwendet, um Werte in die Tabelle UACI_IdsByType einzufügen:
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 Abschnitte hinzufügen, wie im folgenden Beispiel dargestellt. Aufgeführt sind nur die Hinzufügungen.
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