Consultas Dinâmicas¶
Então o que fazer par quem uma mesma consulta contemple várias tabelas diferentes (ODLN, OINV e etc)?
Existem várias soluções para esta pergunta, mas mais pratica é o uso de consulta Dinâmica, ou seja, consulta que se modifica de acordo com a necessidade. Vamos ver a consulta atual e a mesma como dinâmica.
Consulta Atual
Mesma Consulta Dinâmica
Explicando a consulta dinâmica
A consulta em sua sintaxe será convertida no conteúdo de uma variável “Texto” e será executada por um Comando Padrão do SQL conhecido como “EXEC()” que retornará o resultado da consulta.
A principal vantagem do uso de uma consulta dinâmica é a melhora o desempenho do banco de dados e principalmente seu tempo de resposta, mas o que dá versatilidade a ela é que permitir modificar sua consulta partir de valores de variáveis.
Exemplo o Usuário muda um valor de uma variável e a procedure modifica apenas uma parte especifica da consulta e retorna o valor
Declare @query nvarchar (max) – Declara a variável para receber a consulta.
Set @query = ‘...’ – Atribui o texto da consulta.
Exec(@query) – Retorna o valor da consulta setada anteriormente na variável query.
Valide a consulta dinâmica de exemplo em seu ambiente.
Atenção
Mude o nome do banco SBO_American_JCJ para o nome do banco que você está usando no SAPBusiness One.