Princípios básicos
Aplicação
Se desejar aceder a conteúdos numéricos ou alfanuméricos de uma tabela ou manipular as tabelas (p. ex., mudar o nome de colunas ou linhas), utilize os comandos SQL à disposição.
A sintaxe dos comandos SQL disponíveis internamente no comando baseia-se, em larga medida, na linguagem de programação SQL, embora não seja plenamente coincidente. Além disso, o comando não suporta todo o âmbito da linguagem SQL.
Temas relacionados
- Abrir, descrever e ler tabelas de definição livre
Condições
- Código 555343
- Tabela existente
- Nome de tabela adequado
Os nomes das tabelas e das colunas das tabelas devem começar por uma letra e não podem conter operadores aritméticos, p. ex., +. Devido aos comandos SQL ao importar ou exportar dados, estes símbolos podem causar problemas.
Descrição das funções
No software NC, os acessos a tabelas efetuam-se através de um servidor SQL. Este servidor é controlado através dos comandos SQL disponíveis. Os comandos SQL podem ser definidos diretamente num programa NC.
O servidor baseia-se num modelo de transação. Uma transação é composta por vários passos, que são executados em conjunto e, deste modo, asseguram um processamento definido e ordenado das entradas da tabela.
Os comandos SQL atuam no modo de funcionamento Exec. programa e na aplicação MDI.
Exemplo de uma transação:
- Atribuir parâmetros Q a colunas da tabela para acessos de leitura ou escrita com SQL BIND
- Selecionar dados com SQL EXECUTE com a instrução SELECT
- Ler, alterar ou inserir dados com SQL FETCH, SQL UPDATE ou SQL INSERT
- Confirmar ou rejeitar a interação com SQL COMMIT ou SQL ROLLBACK
- Ativar as ligações entre colunas da tabela e parâmetros Q com SQL BIND
Finalize incondicionalmente todas as transações iniciadas, também os acessos exclusivamente de leitura. Apenas a finalização das transações garante a aceitação de alterações e extensões, a supressão de bloqueios e a ativação dos recursos utilizados.
O Result-set descreve o conjunto de resultados de um ficheiro de tabelas. Uma consulta com SELECT define o conjunto de resultados.
O Result-set forma-se ao executar a consulta no servidor SQL, onde ocupa recursos.
Esta consulta atua como um filtro na tabela que torna visível apenas uma parte dos blocos de dados. Para possibilitar a consulta, o ficheiro de tabelas tem obrigatoriamente de ser lido neste ponto.
Para identificar o Result-set ao ler e alterar dados e ao encerrar a transação, o servidor SQL atribui uma Handle. A Handle mostra o resultado da consulta visível no programa NC. O valor 0 identifica uma Handle inválida, pelo que não foi possível criar um Result-set para uma consulta. Se nenhumas linhas cumprem a condição indicada, é criado um Result-set vazio numa Handle válida.
Vista geral dos comandos SQL
O comando oferece os seguintes comandos SQL:
Sintaxe | Função | Mais informações |
---|---|---|
SQL BIND | SQL BIND cria ou suprime a ligação entre as colunas da tabela e os parâmetros Q ou QS | |
SQL SELECT | SQL SELECT lê um valor individual de uma tabela, não abrindo nenhuma transação | |
SQL EXECUTE | SQL EXECUTE abre uma transação com escolha de colunas e linhas da tabela ou permite a utilização de outras instruções SQL (funções auxiliares) | |
SQL FETCH | SQL FETCH transmite os valores aos parâmetros Q associados | |
SQL ROLLBACK | SQL ROLLBACK rejeita todas as alterações e encerra a transação | |
SQL COMMIT | SQL COMMIT guarda todas as alterações e encerra a transação | |
SQL UPDATE | SQL UPDATE aumenta a transação com a alteração de uma linha existente | |
SQL INSERT | SQL INSERT cria uma nova linha de tabela |
Avisos
P. ex., se é guardado um comprimento de uma tabela num parâmetro Q, o valor será sempre métrico em seguida. Se este valor for utilizado posteriormente num programa em polegadas (L X+Q1800), daí resulta uma posição errada.
- Nos programas em polegadas, converter sempre os valores lidos antes da utilização
- Com discos rígidos HDR, para alcançar a máxima velocidade em aplicações de tabelas e favorecer o desempenho do cálculo, a HEIDENHAIN recomenda o emprego de funções SQL em lugar de FN 26, FN 27 e FN 28.