SQL Data Management sql-data-management
Med aktiviteten SQL Data Management kan du skriva egna SQL-skript för att skapa och fylla i arbetsregister.
Förutsättningar prerequisites
Innan du konfigurerar aktiviteten bör du kontrollera att följande krav är uppfyllda:
- Aktiviteten är endast tillgänglig för fjärrdatakällor.
- Det utgående schemat måste finnas i databasen och vara länkat till en FDA-databas.
Viktiga anteckningar important-notes
Från och med 8.9.1 har arbetsflödesaktiviteterna SQL code och SQL Data Management förbättrats för att bättre skydda PostgreSQL-databaser och hålla arbetsflödena igång smidigt när anpassad SQL körs från Campaign.
Om fel uppstår finns det två tillgängliga lösningar:
- Lösning 1 -
XtkSecurity_FeatureFlag_SqlSensitive - Lösning 2 -
XtkSecurity_SqlSensitive_Methods
Mer information och bästa praxis finns i SQL-kod.
Konfigurera SQL Data Management-aktiviteten configuring-the-sql-data-management-activity
-
Ange aktiviteten Label.
-
Markera External account som ska användas och markera sedan Outbound schema som är länkad till det här externa kontot.
note caution CAUTION Det utgående schemat är fast och kan inte redigeras. -
Lägg till SQL-skriptet.
note caution CAUTION Det är SQL-skriptskrivarens ansvar att se till att SQL-skriptet fungerar och att dess referenser (fältnamn, osv.) följer det utgående schemat. Om du vill läsa in en befintlig SQL-kod väljer du alternativet The SQL script is contained in an entity stored in the database. SQL-skript måste skapas och lagras på menyn Administration / Configuration / SQL scripts .
I annat fall skriver eller kopierar och klistrar du in SQL-skriptet i det dedikerade området.
Med aktiviteten kan du använda följande variabler i skriptet:
-
activity.tableName: SQL-namn för utgående arbetstabell.
-
task.inkommandeTransitionByName(‘name’).tableName: SQL-namnet på arbetstabellen som medföljer den inkommande övergången som ska användas (övergången identifieras med sitt namn).
note NOTE Värdet ('name') motsvarar fältet Name i övergångsegenskaperna.
-
-
Om SQL-skriptet redan innehåller kommandon för att skapa en utgående arbetstabell avmarkerar du alternativet Automatically create work table. I annat fall skapas en arbetstabell automatiskt när arbetsflödet körs.
-
Klicka på Ok för att bekräfta aktivitetskonfigurationen.
Aktiviteten är nu konfigurerad. Den är klar att köras i arbetsflödet.
SQL-skriptexempel sql-script-samples
Med skriptet nedan kan du skapa en arbetstabell och infoga data i samma arbetstabell:
CREATE UNLOGGED TABLE <%= activity.tableName %> (
iRecipientId INTEGER DEFAULT 0,
sFirstName VARCHAR(100),
sMiddleName VARCHAR(100),
sLastName VARCHAR(100),
sEmail VARCHAR(100)
);
INSERT INTO <%= activity.tableName %>
SELECT iRecipientId, sFirstName, sMiddleName, sLastName, sEmail
FROM nmsRecipient
GROUP BY iRecipientId, sFirstName, sMiddleName, sLastName, sEmail;
Nedan kan du utföra en CTAS-åtgärd (CREATE TABLE AS SELECT) och skapa ett arbetstabellindex:
CREATE TABLE <%= activity.tableName %>
AS SELECT iRecipientId, sEmail, sFirstName, sLastName, sMiddleName
FROM nmsRecipient
WHERE sEmail IS NOT NULL
GROUP BY iRecipientId, sEmail, sFirstName, sLastName, sMiddleName;
CREATE INDEX ON <%= activity.tableName %> (sEmail);
ANALYZE <%= activity.tableName %> (sEmail);
Nedanför skript kan du sammanfoga två arbetsregister:
CREATE TABLE <%= activity.tableName %>
AS SELECT i1.sFirstName, i1.sLastName, i2.sEmail
FROM <%= task.incomingTransitionByName('input1').tableName %> i1
JOIN <%= task.incomingTransitionByName('input2').tableName %> i2 ON (i1.id = i2.id)