4D v16

SQL

Página Inicial

 
4D v16
SQL

SQL    


 

 

Além das manipulações explicadas no vídeo, note-se que:

Não podemos usar ponteiros ou elementos de array em ma solicitação SQL porque o intérprete não nos toma em consideração.

Neste caso, é preferível constituir a pesquisa na forma de texto e executá-lo usando o comando EXECUTE IMMEDIATE.

  `VARIABLE TYPING IMPERATIVE, caso contrário a petição gera um erro
 ARRAY TEXT(ArrTechniciansStats;0) `Criar um array sem elementos que será cheio pela seguinte petição
 ARRAY TEXT($ArrTechniciansID;0) `Array no qual são guardados os IDs dos Technicians
 
  `Não esqueça o caractere espaço ou retorno de carro ao final de cada linha
 C_TEXT($TextQuery)
 $TextQuery:="SELECT Last_name, ID "
 $TextQuery:=$TextQuery+"FROM TECHNICIANS "
 $TextQuery:=$TextQuery+"INTO :ArrTechnicians, :$ArrTechniciansID"
 
 Begin SQL `Só queremos recuperar o sobrenome do técnico e guardá-lo em um array
    EXECUTE IMMEDIATE :$TextQuery;
 End SQL

Isto seleciona o sobrenome e o ID na tabela Technicians e os transfere aos 2 arrays.

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.

 
 

 
PROPRIEDADES 

Produto: 4D
Tema: SQL

 
HISTÓRIA 

 
ARTICLE USAGE

Autoformação ( 4D v16)