Gerenciamento de dados SQL sql-data-management
A atividade de Gestão de dados SQL permite escrever seus próprios scripts SQL para criar e preencher tabelas de trabalho.
Pré-requisitos prerequisites
Antes de configurar a atividade, verifique se os pré-requisitos a seguir estão sendo cumpridos:
-
A atividade está disponível somente para fontes de dados remotas. O pacote FDA (Federated Data Access) deve, portanto, ser instalado em sua instância. Saiba mais.
Para mais informações, dependendo da versão do Campaign, consulte estas seções:
-
O esquema de saída deve existir no banco de dados e estar vinculado a um banco de dados do FDA.
-
O operador que executa o fluxo de trabalho deve ter o item USE SQL DATA MANAGEMENT ACTIVITY (useSqlDmActivity) nomeado corretamente. Saiba mais.
Configurar a atividade de gestão de dados SQL configuring-the-sql-data-management-activity
-
Especifique a atividade Label.
-
Selecione a External account a ser utilizada e selecione o Outbound schema vinculado a esta conta externa.
note caution CAUTION O schema de saída está fixo e não pode ser editado. -
Adicione o script SQL.
note caution CAUTION É a responsabilidade do gravador de script SQL garantir que o script SQL esteja funcional e que suas referências (nomes de campos, etc.) estejam de acordo com o schema de saída. Para carregar um código SQL existente, selecione a opção The SQL script is contained in an entity stored in the database. Os scripts SQL devem ser criados e armazenados no menu Administration / Configuration / SQL scripts.
Caso contrário, digite ou copie e cole o script SQL na área dedicada.
A atividade permite usar as seguintes variáveis no script:
-
activity.tableName: nome SQL da tabela de trabalho de saída
-
task.incomingTransitionByName('name').tableName: nome SQL da tabela de trabalho transmitida pela transição recebida a ser utilizada (a transição é identificada pelo próprio nome).
note note NOTE O valor ('name') corresponde ao Name campo das propriedades de transição.
-
-
Se o script SQL já tiver comandos para criar uma tabela de trabalho de saída, desmarque a opção Automatically create work table. Caso contrário, uma tabela de trabalho será criada automaticamente quando o workflow for executado.
-
Clique em Ok para confirmar a configuração da atividade.
A atividade está configurada agora. Ela está pronta para ser executada no workflow
Exemplos de script SQL sql-script-samples
O script abaixo permite criar uma tabela de trabalho e inserir dados nesta mesma tabela de trabalho:
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;
O script abaixo permite executar uma operação CTAS (CREATE TABLE AS SELECT) e criar um índice de tabela de trabalho:
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);
O script abaixo permite mesclar duas tabelas de trabalho:
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)