Das folgende Beispiel zeigt die für die Unterstützung der Zielgruppenebene "Haushalt" erforderlichen Änderungen des SQL-Upgrade-Scripts aci_runtab_upgrd:
Die vorhandene Unica Interact-Designzeitumgebung enthält eine zusätzliche Zielgruppenebene mit der Bezeichnung "Haushalt". Zur Unterstützung dieser Zielgruppenebene enthält die Unica Interact-Laufzeitumgebungsdatenbank Tabellen mit den Bezeichnungen HH_CHStaging und HH_RHStaging.
Erforderliche Änderungen am Upgrade-Script:
- Suchen Sie im SQL-Upgrade-Script nach dem Code für die Aktualisierung des Antwortverlaufs und Verfahrensgrößen für die Zielgruppenebene "Kunde" und replizieren Sie ihn für die Zielgruppenebene "Haushalt". Ändern Sie die Tabellennamen in den SQL-Anweisungen in die entsprechenden Namen für die Zielgruppenebene "Haushalt".
- Passen Sie das SQL-Script so an, 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 Staging-Tabellen für den Antwortverlauf. Der nächste verwendete Wert stammt aus der Spalte NextID in der Tabelle UACI_IdsByType mit dem TypeID-Wert 2. Im folgenden Beispiel werden die drei Zielgruppenebenen Kunde, Haushalt und Konto beschrieben. In der Staging-Tabelle für den Antwortverlauf "Kunde" ist der höchste Wert für "SeqNum" 50. In der Staging-Tabelle für den Antwortverlauf "Haushalt" ist der höchste Wert für SeqNum 75. In der Staging-Tabelle für den Antwortverlauf "Konto" ist der höchste Wert für SeqNum 100. Sie müssen daher das SQL-Script so anpassen, dass NextID für TypeID = 2 in UACI_IdsByType auf 101 festgelegt wird.
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