Um stored procedure é uma coleção pré-compilada de Transact-SQL, PL-SQL ou outras instruções procedurais do banco de dados e instruções opcionais de controle de fluxo, semelhantes a um script executável.
Procedimentos armazenados são usados para automatizar tarefas que são muito complicadas para instruções SQL padrão.
Os procedimentos armazenados são armazenados e executados no banco de dados.
O stored procedure deve existir no banco de dados antes de criar uma transformação stored procedure.
Quando usar a transformação de stored procedure
A transformação stored procedure introduzida pela Informatica tem usabilidade multifacetada. Algumas das principais razões estão listadas abaixo:
Cálculos complexos em que os Procedimentos do Banco de Dados têm melhor desempenho do que o uso de várias transformações no Informatica.
Reutilização dos procedimentos Complexos em diferentes ETLs na forma de transformação Stored Procedure.
Divisão de cálculos complexos em vários Procedimentos Armazenados e uso deles como transformação de stored procedure no mesmo ETL. A saída de uma transformação de SP pode atuar como entrada para a outra.
Transformação de stored procedure no PowerCenter
A transformação do stored procedure é uma transformação passiva.
A transformação do stored procedure pode ser conectada ou desconectada.
Procedimentos armazenados tem a capacidade de enviar dados para o stored procedure e receber dados do stored procedure.
Quais são os três tipos de dados que passam entre o Serviço de Integração e o stored procedure?
Input/output parameters
Return Values
Status codes
Quais são as diferentes opções para executar uma transformação de Stored Procedure?
Normal (By Default)
Pre-load of the Source
Post-load of the Source
Pre-load of the Target
Post-load of the Target
Diferença entre a Transformação de Stored Procedure Conectada e Desconectada e seu modo de execução
A transformação de stored procedure é uma transformação passiva e, como nossa transformação de Pesquisa, pode ser do tipo conectado ou não conectado.
Transformação Stored Procedure conectada
Quando a transformação de SP existe ao longo da linha de fluxo de dados, ela é chamada de transformação de SP conectada. Dada a seguir é um exemplo típico de uma transformação de SP conectada. O tipo de stored procedure para uma Transformação SP Conectada é sempre definido como "Normal". Isso significa que o procedimento seria chamado para cada linha processada.
Transformação Stored Procedure desconectada:
Esse tipo de transformação de SP não existe ao longo do pipeline do mapeamento e pode ser chamado como e quando necessário. Existem diferentes cenários de uso de uma transformação de SP não conectada. Alguns deles são dados abaixo: Execução condicional de um stored procedure. Nesse caso, o design ETL seria algo como:
A transformação SP não conectada é chamada na expressão usando a seguinte sintaxe::SP.sp_INCREASE_AMT_BY_ID(ID, var_Output,var_Amt)
No exemplo acima, o tipo de stored procedure seria "Normal".
Tipo de stored procedure: Chamada de stored procedure durante diferentes períodos de execução da sessão
A Transformação de stored procedure Desconectada também permite a execução do stored subjacente antes do início da leitura da source ou após a conclusão da leitura do source ou antes do carregamento do target ou após o carregamento do target usando os tipos abaixo fornecidos no Tipo de stored procedure:
Source Pre Load
Source Post Load
Target Pre Load
Target Post Load
Nesse caso, não precisamos chamar explicitamente a stored em nenhuma expressão ou outra transformação. O procedimento seria executado de acordo com o tipo especificado.
Como chamar um stored procedure que reside em um esquema diferente?
Nesse caso, podemos usar nossa transformação SP para executar o stored, fazendo uma alteração muito simples. Temos que prefixar a chamada de procedimento com o nome do esquema no atributo call text, desde que o usuário tenha privilégio de execução no objeto.
Como executar vários stored procedure um após o outro em um único ETL?
Se o tipo de stored procedure for qualquer um dos quatro tipos disponíveis diferentes de "Normal", temos que usar a Propriedade de Mapeamento - Plano de stored procedure.
Se o tipo de stored procedure for "Normal", devemos chamar os stored por meio de uma expressão, um por um.
Se você gostou, inscreva se, mande sua opinião!
Meu e-mail: diogo.vidal@outlook.com | Diogo Vidal
Comments