
Um script é um objeto de uso único usado para chamar funções e atribuir valores em um trabalho ou fluxo de trabalho.
Utilização de script
Existem muitos casos de uso para scripts. Incluindo:
- Inicialização de job
- Existência de file
- Enviar alertas por e-mail
- Verificações e atualizações da tabela de status
Você pode executar um script antes dos fluxos de dados para as etapas de inicialização, para calcular valores que são transferidos para outras partes do job ou para atribuir valores a variáveis.
Você pode executar um script para executar funções, por exemplo, para verificar a existência do arquivo. Em seguida, seu job pode utilizar condicionais para determinar caminhos de execução.
Você também pode executar um script após fluxos de trabalho e fluxos de dados para enviar notificações ou registrar informações de execução, como tempo, ou uma alteração no número de linhas em um conjunto de dados.
Linguagem de script de serviços de dados
Com a linguagem de script do Data Services, você pode atribuir valores a variáveis, chamar funções e usar string padrão e operadores matemáticos. A sintaxe pode ser usada em expressões como cláusulas WHERE e scripts.
Instruções de script
- Declarações de atribuição
- Chamadas de função
- Instruções If
- Declarações While
- Expressões
Expressões são uma combinação de constantes, operadores, funções e variáveis que avaliam um valor de um determinado tipo de dados. Use expressões dentro de instruções de script ou adicione expressões a objetos de fluxo de dados.
Sintaxe básica
Siga estas regras de sintaxe básicas quando estiver criando uma expressão com a linguagem de script do Data Services:
- Termine cada instrução com um ponto-e-vírgula (;).
- Iniciar nomes de variáveis com um sinal de dólar ($).
- Incluir valores de cadeia entre aspas simples (' ').
- Inicie comentários com um sinal de número (#).
- Indicar parâmetros em chamadas de função, mesmo que a chamada de função não utilize parâmetros.
- Substitua o valor da expressão por colchetes, por exemplo:
Print(’The value of the start date is:[sysdate()+5]’);
- Cite o valor da expressão entre aspas simples com chaves, por exemplo:
$StartDate = sql(’demo_target’, ’SELECT ExtractHigh FROM Job_Execution_Status WHERE JobName = {$JobName}’);
Sintaxe para referências de coluna e tabela em expressões
As expressões podem ser usadas dentro de objetos de fluxo de dados e podem conter nomes de colunas.
A linguagem de script de serviços de dados reconhece nomes de coluna e tabela sem sintaxe especial. Por exemplo, você pode indicar a coluna start_date como entrada para uma função na guia Mapeamento de uma consulta comoto_char(start_date, ’dd.mm.yyyy’).
A coluna start_date deve estar no esquema de entrada da consulta. Se existir mais de uma coluna com o mesmo nome no esquema de entrada de uma consulta, indique qual coluna é incluída em uma expressão qualificando o nome da coluna com o nome da tabela. Por exemplo, indique a coluna start_date no status da tabela comostatus.start_date.
Os nomes de colunas e tabelas como parte de cadeias SQL podem exigir sintaxe especial com base no RDBMS pelo qual o SQL é avaliado. Por exemplo, selecione todas as linhas da coluna LAST_NAME da tabela CUSTOMER como sql(’oracle_ds’,’select CUSTOMER.LAST_NAME from CUSTOMER’).
Marcas de cotação
Aspas simples, caracteres de escape e espaços em branco posteriores podem ter um efeito adverso em seu script se usados incorretamente.
O tipo de aspas para usar em strings depende de você estar usando identificadores ou constantes.
Identificadores
- Um identificador é o nome do objeto, como uma tabela, coluna, fluxo de dados ou função.
- Use aspas duplas em identificadores se eles contiverem caracteres não alfanuméricos.
- Por exemplo, use aspas duplas na string "calcular números grandes" porque a string contém espaços em branco.
Constantes
- Uma constante é um valor fixo usado no cálculo.
- Existem dois tipos de constantes:
- Constantes de cadeia, por exemplo, 'Hello’ ou '2007.01.23’
- Constantes numéricas, por exemplo, 2,14
- Utilize aspas simples em constantes de cadeia e sem aspas em constantes numéricas.
Caracteres de escape
Caracteres especiais como aspas simples ou barra invertida devem ser precedidos por um caractere de escape para serem avaliados corretamente em uma cadeia. O Data Services utiliza a barra invertida como caractere de escape, como exibido nesta tabela:
| Caractere | Exemplo |
|---|---|
| Aspas simples (') | 'Livros do mundo' |
| Barra invertida (\) | 'C:\\temp’ |
NULLs, strings vazias e espaços em branco à direita
Para estar em conformidade com o padrão ANSI VARCHAR ao lidar com NULLs, strings vazias e espaços em branco posteriores, o Data Services:
- Trata uma string vazia (' ') como um valor varchar de comprimento zero, em vez de um valor NULL.
- Retorna um valor FALSO quando você utiliza os operadores Equal (=) e Not Equal (<>) para comparar com um valor NULL.
- Fornece operadores IS NULL e IS NOT NULL para testar valores NULL.
- Trata os espaços em branco posteriores como caracteres regulares ao ler de todas as fontes, em vez de cortá-los.
- Ignora espaços em branco posteriores em comparações em transformações e funções.
Quando você atribui uma cadeia vazia (' ') a uma variável, o Data Services trata o valor da variável como uma cadeia de comprimento zero.
Um erro resulta se você atribuir uma string vazia a uma variável que não seja um varchar. Use a constante NULL para atribuir um valor NULL a uma variável de qualquer tipo.
Verifique se uma coluna (COLX) é nula ou não com estas expressões:
- COLX IS NULL
- COLX NÃO É NULO
Utilize a função NVL para remover valores NULL. O Data Services não verifica valores NULL em colunas de dados.
Para obter mais informações sobre a linguagem de script, consulte o guia do designer.
e o guia de referência