Gestão de Dados SQL

A atividade de Gestão de Dados SQL permite escrever seus próprios scripts SQL para criar e preencher tabelas de trabalho.

Pré-requisitos

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. The FDA (Federated Data Access) package must therefore be installed on your instance. Saiba mais.
  • O schema de saída deve existir no banco de dados e estar vinculado a um banco de dados FDA. Saiba mais.
  • O operador que executa o fluxo de trabalho deve ter o item USE SQL DATA MANAGEMENT ACTIVITY (useSqlDmActivity) nomeado corretamente. Saiba mais.

Configurando a atividade de gestão de dados SQL

  1. Especifique a atividade Label.

  2. Selecione a External account a ser utilizada e selecione o Outbound schema vinculado a esta conta externa.

    CUIDADO

    O schema de saída está fixo e não pode ser editado.

  3. Adicione o script SQL.

    CUIDADO

    É 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).

      Observação

      O valor ('name') corresponde ao Name campo das propriedades de transição.

  4. 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.

  5. Clique em Ok para confirmar a configuração da atividade.

A atividade está configurada agora. Ela está pronta para ser executada no workflow

CUIDADO

Ao executar a atividade, os registros de transição de saída são somente indicativos. Pode variar de acordo com o nível de complexidade do script SQL.

Se a atividade for reiniciada, todo o script será executado desde o seu início, independentemente do status de execução.

Exemplos de script SQL

Observação

Os exemplos de script nesta seção dever ser executados em PostgreSQL.

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)

Nesta página