Adicionar expressões a restrições de precedência
Uma restrição de precedência pode usar uma expressão para definir a restrição entre dois executáveis: o executável de precedência e o executável de restrição. Os executáveis podem ser tarefas ou contêineres. A expressão pode ser usada sozinha ou em combinação com o resultado de execução do executável da restrição. O resultado da execução de um executável pode ter sucesso ou falha. Quando você configura o resultado de execução de uma restrição de precedência, pode definir o resultado de execução como Success
, Failure
ou Completion
. Success
exige que o executável de precedência tenha sucesso, Failure
exige que o executável de precedência falhe e Completion
indica que o executável de restrição deve ser executado independentemente da tarefa de restrição ter sucesso ou falhar. Para obter informações, consulte Restrições de precedência.
A expressão deve ser avaliada como True
ou False
e deve ser uma expressão válida do Integration Services. A expressão pode usar literais, variáveis personalizadas e de sistema e as funções e operadores que a gramática de expressão do SSIS fornece. Por exemplo, a expressão @Count == SQRT(144) + 10
usa a variável Count
, a função SQRT e os operadores de igual (==) e soma (+). Para saber mais, confira Expressões do Integration Services (SSIS).
Na ilustração a seguir, as tarefas A e B estão vinculadas por uma restrição de precedência que usa um resultado de execução e uma expressão. O valor da restrição é definido como Success
e a expressão é @X >== @Z
. A tarefa B, a tarefa de restrição, só é executada se a tarefa A for concluída com sucesso e o valor da variável X
for maior que ou igual ao valor da variável Z
.
Os executáveis também podem ser vinculados usando múltiplas restrições de precedência que contenham expressões diferentes. Por exemplo, na ilustração a seguir, as tarefas B e C estão vinculadas à tarefa A por restrições de precedência que usam resultados de execução e expressões. Ambos os valores das restrições estão definidos como Success.
Uma restrição de precedência inclui a expressão @X >== @Z
e a outra restrição de precedência inclui a expressão @X < @Z
. Dependendo dos valores da variável X
e da variável Z
, uma das tarefas C ou B será executada.
Você pode adicionar ou modificar uma expressão usando o Editor de Restrição de Precedência no Designer do SSIS e a janela Propriedades que o SSDT (SQL Server Data Tools) fornece. Entretanto, a janela Propriedades não fornece verificação da sintaxe de expressão.
Se uma restrição de precedência incluir uma expressão, um ícone será exibido na superfície de design da guia Fluxo de Controle , próximo à restrição de precedência e a dica de ferramenta sobre o ícone exibirá a expressão.
Combinando valores de execução e expressões
A tabela a seguir descreve os efeitos de combinar uma restrição de valor de execução e uma expressão em uma restrição de precedência.
Operação de avaliação | A restrição avalia como | A expressão avalia como | O executável restrito executa |
---|---|---|---|
Constraint | True | N/D | True |
Constraint | Falso | N/D | Falso |
Expression | N/D | True | True |
Expression | N/D | Falso | Falso |
Restrição e expressão | True | True | True |
Restrição e expressão | True | Falso | Falso |
Restrição e expressão | Falso | True | Falso |
Restrição e expressão | Falso | Falso | Falso |
Restrição ou expressão | True | True | True |
Restrição ou expressão | True | Falso | True |
Restrição ou expressão | Falso | True | True |
Restrição ou expressão | Falso | Falso | Falso |
Como adicionar uma expressão a uma restrição de precedência
Recursos externos
Artigo técnico, Exemplos de expressões SSIS, em social.technet.microsoft.com