SAP HANA SQL: aprenda instruções básicas em 10 minutos

⚡ Resumo Inteligente

SAP HANA SQL é a principal linguagem de banco de dados da plataforma. Ela lida com a definição de esquema, manipulação de dados, controle de acesso e gerenciamento de sessões, seguindo o padrão que torna o SQL portátil entre bancos de dados relacionais.

  • 🗣️ Função principal: SQL é a linguagem principal para comunicação com SAP HANA, assim como acontece com outros sistemas relacionais.
  • ???? Trabalho de Esquema: O comando CREATE SCHEMA estabelece o namespace que contém as tabelas, visualizações e procedimentos.
  • 📋 Instruções DML: SELECT, INSERT e UPDATE leem e alteram as linhas contidas em uma tabela.
  • 🧱 Instruções DDL: CRIAR, ALTERAR e SOLTAR definem e remodelam os próprios objetos.
  • 🔐 Declarações da DCL: GRANT e REVOKE controlam qual usuário pode executar qual operação.
  • 💬 Estilos de comentário: Double O hífen indica um comentário de linha única e a barra (/) indica um comentário de várias linhas.
  • ⚙️ Administração: O gerenciamento de sistemas, sessões e transações é todo realizado por meio de instruções SQL.

SAP SQL HANA

A maioria dos bancos de dados RDBMS usa SQL como linguagem de banco de dados, a razão de ser popular é: ela é poderosa, independente do fornecedor e padronizada. SAP HANA também oferece suporte a SQL.

In SAP HANA, SQL é a principal linguagem de banco de dados.

O que é a SAP HANASQL?

SQL significa Linguagem de Consulta Estruturada. É uma linguagem padrão para comunicação com bancos de dados relacionais como Oracle, MySQL etc. SQL é usado para armazenar, recuperar e modificar os dados no banco de dados.

Usando SQL em SAP HANA, podemos realizar os seguintes trabalhos:

  • Definição e uso de esquema (CREATE SCHEMA).
  • Instrução DML (SELECT, UPDATE, INSERT).
  • Instruções DDL (CREATE, ALTER, DROP)
  • Declaração DCL (CONCEDER, REVOGAR)
  • System Management
  • Gerenciamento de Sessões
  • Gerenciamento de Transações

As instruções são executadas a partir do console SQL de SAP HANA Studio, a partir de um cliente de linha de comando ou de um aplicativo que se conecta via JDBC ou ODBC. A linguagem em si é idêntica em todos os casos.

Categorias de instruções SQL em SAP HANA

Cada extrato bancário pertence a um pequeno número de famílias. Saber a qual família um extrato pertence permite prever se ele pode ser revertido e qual autorização é necessária.

Categoria Nome completo Declarações típicas Propósito
DDL Linguagem de Definição de Dados CRIAR, ALTERAR, EXCLUIR, RENOMEAR Define e altera objetos como esquemas, tabelas e visualizações.
DML Linguagem de manipulação de dados SELECIONAR, INSERIR, ATUALIZAR, EXCLUIR, INSERIR OU ATUALIZAR Lê e altera as linhas contidas em objetos.
DCL Linguagem de Controle de Dados CONCEDER, REVOGAR Controla qual usuário ou função pode executar qual ação.
TCL Linguagem de controle de transação CONFIRMAR, REVERTER, PONTO DE SALVAMENTO Confirma ou descarta uma unidade de trabalho.
em Nova York Gerenciamento de sessão DEFINIR ESQUEMA, CONECTAR, DEFINIR TRANSAÇÃO Configura a conexão atual.
System Administração de sistema ALTERAR SISTEMA, visualizações de monitoramento Administra a própria instância do banco de dados.

Vale a pena mencionar o UPSERT porque ele não existe em todos os dialetos. Ele insere uma linha quando a chave é nova e a atualiza quando a chave já existe, o que elimina um padrão comum de duas instruções.

Comentário em SQL

Podemos adicionar um comentário para melhorar a legibilidade e a manutenção das instruções SQL. O comentário pode ser colocado no SQL de duas maneiras-

  • Comentário de linha única – Double Hífens “–“. Este é um comentário de uma linha.
  • Comentário de várias linhas – “/* */”.

Todo o texto comentado é ignorado pelo SQL Parser.

-- This is a single line comment
SELECT ELEMENT FROM DHK_SCHEMA.TABLE1;

/* This is a multiple line comment.
   Everything between the markers is ignored
   by the SQL parser. */
SELECT COUNT(*) FROM DHK_SCHEMA.TABLE1;

Exemplos básicos de sintaxe SQL em SAP HANA

As instruções abaixo descrevem o ciclo diário de criação de um esquema, definição de uma tabela, carregamento de linhas e leitura das mesmas. Elas são executadas sem alterações no console SQL.

1) Crie um esquema. Um esquema é responsável pelos objetos criados dentro dele e é a primeira coisa que um novo projeto precisa.

CREATE SCHEMA DHK_SCHEMA;
SET SCHEMA DHK_SCHEMA;

2) Crie uma tabela de colunas. O armazenamento em colunas é o padrão e o motivo da velocidade analítica do HANA. O armazenamento em linhas é escolhido apenas para tabelas pequenas com grande volume de escrita.

CREATE COLUMN TABLE DHK_SCHEMA.EMPLOYEE (
  EMP_ID    INTEGER NOT NULL,
  EMP_NAME  NVARCHAR(100),
  HIRE_DATE DATE,
  SALARY    DECIMAL(10,2),
  PRIMARY KEY (EMP_ID)
);

3) Inserir e atualizar linhas. O comando INSERT adiciona uma linha e o comando UPDATE modifica as linhas existentes. Sempre utilize um comando UPDATE em conjunto com uma cláusula WHERE, a menos que todas as linhas realmente precisem ser alteradas.

INSERT INTO DHK_SCHEMA.EMPLOYEE
  VALUES (1, 'Anita Sharma', '2026-01-15', 55000.00);

UPDATE DHK_SCHEMA.EMPLOYEE
  SET SALARY = 60000.00
  WHERE EMP_ID = 1;

4) Consulte os dados. A instrução SELECT suporta as cláusulas conhecidas WHERE, GROUP BY, HAVING e ORDER BY.

SELECT EMP_NAME, SALARY
  FROM DHK_SCHEMA.EMPLOYEE
  WHERE SALARY > 50000
  ORDER BY SALARY DESC;

5) Conceda acesso e confirme. DCL controla quem pode ler a tabela, e COMMIT torna a alteração permanente.

GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER;
COMMIT;

Os detalhes em nível de campo da definição de cada coluna são abordados em SAP tipos de dados HANAe os símbolos usados ​​na cláusula WHERE em SAP Operadores HANA.

SAP HANA SQL vs SQL padrão

SAP O HANA segue de perto o padrão SQL, razão pela qual um desenvolvedor experiente se torna produtivo rapidamente. As diferenças que importam são adições, e não alterações.

Área SQL padrão SAP SQL HANA
Armazenamento de mesa Orientado por linha por padrão Armazenamento em colunas por padrão, armazenamento em linhas opcional.
Inserir ou atualizar em uma única declaração MESCLAR, onde for possível UPSERT, sintaxe mais simples para o mesmo resultado
Limite do conjunto de resultados Específico do dialeto LIMITE com DESLOCAMENTO, mais TOPO
Extensão processual Específico do fornecedor SQLScript, com variáveis ​​de tabela e execução paralela.
Pesquisa de texto completo Geralmente um complemento Construído através das colunas TEXTO e TEXTO CURTO
Sensibilidade a maiúsculas e minúsculas Varia Identificadores não delimitados são escritos em maiúsculas, enquanto os delimitados mantêm suas letras maiúsculas e minúsculas.

A regra do identificador é a que causa mais surpresas. Escrever o nome de uma tabela em minúsculas, sem aspas duplas, cria-o em maiúsculas, e selecioná-lo posteriormente dentro de aspas duplas, em minúsculas, resulta em falha ao encontrá-lo. As regras estão definidas no documento. tipos de dados e identificadores tutorial, com a plataforma mais ampla abordada no SAP Tutorial HANA série.

Perguntas Frequentes

SQL lida com instruções individuais. SQLScript adiciona lógica procedural, como variáveis, loops e variáveis ​​de tabela, permitindo que várias etapas sejam executadas dentro do banco de dados em vez de na camada de aplicação.

Tabelas de colunas são adequadas para praticamente tudo, pois a compressão e as leituras analíticas são muito mais rápidas. Tabelas de linhas são apropriadas para pequenas tabelas de configuração lidas integralmente, registro por registro, a cada acesso.

Sim. Dado o esquema, os modelos de linguagem elaboram instruções SELECT corretas a partir de uma solicitação escrita. RevAnalise cuidadosamente as junções e os filtros, pois uma consulta plausível ainda pode responder à pergunta errada.

Sim. A IA lê o plano de execução e sugere reescritas, uma ordem de junção melhor ou filtros ausentes. Meça o resultado, pois uma sugestão que beneficia um volume de dados pode prejudicar outro.

Não. O analisador sintático os descarta antes da execução, portanto, os comentários não têm custo em tempo de execução. Eles são a maneira mais barata de tornar uma longa declaração analítica sustentável.

Resuma esta postagem com: