Neste vídeo, vamos aprender como implementar comandos SQL simples integrados a programação de 4D em duas formas:
- Várias linhas de comando SQL inseridas em um bloqueio de processamento SQL
- Somente uma linha de comando que executa a lista de comandos armazenados em uma variável texto.
Além da linguagem de 4D, podemos integrar em 4D os comandos SQL como o realiza em outras ferramentas:
- mysql_query em PHP
- INCLUDE SQLCA em COBOL
- etc.
Estes comandos também podem ser integrados facilmente em seus projetos de desenvolvimento existentes.
Vamos tomar nosso formulário Statistics para calcular o mesmo array baseado nos comandos SQL:
- Duplicamos o botão
- O começo do método fica igual
- Como não selecionamos registros, o array Technicians terá 0 elementos
- Adicionamos o array dos identificadores dos técnicos em uma variável local; não o necessitamos conservar posteriormente
- Logo integramos nosso código SQL
Este seleciona o sobrenome e o ID da tabela Technicians e os transfere nos 2 arrays.
Note a sintaxes que indica a 4D transferir o resultado nos arrays. Utilizamos o nome da variável precedida pelo símbolo “:” (dois pontos).
O resto do método (dimensionamento do array de intervenções) permanece globalmente estruturado da mesma maneira:
- Acabamos de adicionar o valor $Num para saber quantos técnicos vamos processar
- Em seguida eliminamos a parte final que vamos substituir com os comandos SQL
- Guardamos em uma variável o identificador do técnico a processar
- Executamos os comandos SQL que levam em consideração o ano de inicio e o ano final
- E depois atribuímos os valores ao array de intervenções no elemento X
Quando o método se executa:
- aqui passamos o código SQL
- temos 7 técnicos
- dimensionamos o array das intervenções
- Logo para cada valor do array, vamos fazer um SELECT COUNT
- é guardado em uma variável $Result
- que atribuirá valores ao array
e se escolhemos qualquer das opções, ainda teremos o mesmo resultado.
Outra forma de programar, especialmente esta primeira parte, seria escrever desta forma:
- em outras palavras, escrevemos a petição em uma variável Texto
- e em seguida entre um Begin SQL e um End SQL, utilizamos o comando EXECUTE IMMEDIATE ao qual passamos a petição em forma de texto
Na qual da exatamente o mesmo resultado.