Gestione dati SQL

L'attività SQL Data Management consente di creare script SQL personalizzati per creare e compilare tabelle di lavoro.

Prerequisiti

Prima di configurare l'attività, accertatevi che siano soddisfatti i seguenti prerequisiti:

  • L'attività è disponibile solo per le origini dati remote. Il pacchetto FDA (Federated Data Access) deve quindi essere installato nell'istanza. Ulteriori informazioni.
  • Lo schema in uscita deve essere presente nel database e collegato a un database FDA. Ulteriori informazioni.
  • L'operatore che esegue il flusso di lavoro deve avere il USE SQL DATA MANAGEMENT ACTIVITY (useSqlDmActivity) nome right. Ulteriori informazioni.

Configurazione dell'attività di gestione dati SQL

  1. Specificate l'attività Label.

  2. Selezionate l'account External account da utilizzare, quindi selezionate il Outbound schema collegamento a questo account esterno.

    ATTENZIONE

    Lo schema in uscita è fisso e non può essere modificato.

  3. Aggiungete lo script SQL.

    ATTENZIONE

    È responsabilità del writer dello script SQL assicurarsi che lo script SQL sia funzionale e che i relativi riferimenti (nomi di campi, ecc.) sono conformi allo schema in uscita.

    Se si desidera caricare un codice SQL esistente, selezionare l' The SQL script is contained in an entity stored in the database opzione. Gli script SQL devono essere creati e memorizzati nel Administration / Configuration / SQL scripts menu.

    In caso contrario, digitare o copiare/incollare lo script SQL nell'area dedicata.

    L'attività consente di utilizzare le seguenti variabili nello script:

    • activity.tableName: Nome SQL della tabella di lavoro in uscita.

    • task.entrionTransitionByName(‘name’).tableName: Nome SQL della tabella di lavoro gestita dalla transizione in entrata da utilizzare (la transizione è identificata dal nome).

      Nota

      Il valore ('name') corrisponde al Name campo delle proprietà di transizione.

  4. Se lo script SQL contiene già comandi per creare una tabella di lavoro in uscita, deselezionare l' Automatically create work table opzione. In caso contrario, una tabella di lavoro viene creata automaticamente dopo l'esecuzione del flusso di lavoro.

  5. Fate clic Ok per confermare la configurazione dell'attività.

L'attività ora è configurata. È pronto per essere eseguito nel flusso di lavoro.

ATTENZIONE

Una volta eseguita l'attività, il conteggio dei record di transizione in uscita è solo indicativo. Può variare a seconda del livello di complessità dello script SQL.

Se l'attività viene riavviata, l'intero script viene eseguito dall'inizio, indipendentemente dal suo stato di esecuzione.

Esempi di script SQL

Nota

Gli esempi di script in questa sezione sono destinati ad essere eseguiti in PostgreSQL.

Lo script seguente consente di creare una tabella di lavoro e di inserire dati in questa stessa tabella di lavoro:

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;

Lo script seguente consente di eseguire un'operazione CTAS (CREATE TABLE AS SELECT) e creare un indice della tabella di lavoro:

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);

Lo script seguente consente di unire due tabelle di lavoro:

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)

In questa pagina