SAP HANA SQL: Leer basisverklaringen in 10 minuten

โšก Slimme samenvatting

SAP HANA SQL is de belangrijkste databasetaal van het platform. Het verzorgt de schema-definitie, gegevensmanipulatie, toegangscontrole en sessiebeheer, volgens de standaard die SQL overdraagbaar maakt tussen relationele databases.

  • ๐Ÿ—ฃ๏ธ Kernrol: SQL is de primaire taal voor communicatie met SAP HANA, net als andere relationele systemen.
  • ???? ๏ธ Schema-werk: Met CREATE SCHEMA wordt de naamruimte vastgesteld waartoe tabellen, weergaven en procedures behoren.
  • ๐Ÿ“‹ DML-instructies: SELECT, INSERT en UPDATE lezen en wijzigen de rijen in een tabel.
  • ๐Ÿงฑ DDL-instructies: CREATE, ALTER en DROP definiรซren en hervormen de objecten zelf.
  • ๐Ÿ” DCL-verklaringen: GRANT en REVOKE bepalen welke gebruiker welke bewerking mag uitvoeren.
  • ๐Ÿ’ฌ Commentaarstijlen: Double Een koppelteken markeert een commentaarregel van รฉรฉn regel en een schuine streep met een asterisk (*) sluit een commentaarregel van meerdere regels in.
  • โš™๏ธ Administratie: Systeem-, sessie- en transactiebeheer worden allemaal aangestuurd via SQL-instructies.

SAP HANA-SQL

De meeste RDBMS-database gebruikt SQL als databasetaal is de reden dat het populair is: het is krachtig, leveranciersonafhankelijk en gestandaardiseerd. SAP HANA ondersteunt ook SQL.

In SAP HANA, SQL is de belangrijkste databasetaal.

Wat is SAP HANA-SQL?

SQL staat voor Structured Query Language. Het is een standaardtaal voor communicatie met relationele databases zoals Oracle, MySQL enz. SQL wordt gebruikt om de gegevens in de database op te slaan, op te halen en te wijzigen.

Door gebruik te maken van SQL in SAP HANA, wij kunnen de volgende taken uitvoeren:

  • Schemadefinitie en gebruik (CREATE SCHEMA).
  • DML-instructie (SELECT, UPDATE, INSERT).
  • DDL-instructies (CREATE, ALTER, DROP)
  • DCL-verklaring (TOEKENNEN, INTREKKEN)
  • Systeem beheer
  • Sessiebeheer
  • Transactiebeheer

Instructies worden uitgevoerd vanuit de SQL-console van SAP HANA StudioDit kan via een opdrachtregelclient of via een applicatie die verbinding maakt via JDBC of ODBC. De taal zelf is in alle gevallen identiek.

SQL-instructiecategorieรซn in SAP HANA

Elke verklaring behoort tot een van een klein aantal families. Weten tot welke familie een verklaring behoort, voorspelt of deze kan worden teruggedraaid en welke toestemming daarvoor nodig is.

Categorie Voor- en achternaam Typische uitspraken Doel
DDL Gegevensdefinitietaal AANMAKEN, WIJZIGEN, VERWIJDEREN, HERNOEMEN Definieert en wijzigt objecten zoals schema's, tabellen en weergaven.
DML Data Manipulatie Taal SELECTEREN, INVOEGEN, BIJWERKEN, VERWIJDEREN, OPNIEUW INVOEGEN Leest en wijzigt de rijen die in objecten zijn opgeslagen.
DCL Taal voor gegevensbeheer VERLENEN, INTREKKEN Hiermee wordt bepaald welke gebruiker of rol welke actie mag uitvoeren.
TCL Transactiecontroletaal COMMIT, ROLLBACK, SAVEPOINT Bevestigt of verwerpt een werkeenheid
Sessie Session beheer SCHEMA INSTELLEN, VERBINDEN, TRANSACTIE INSTELLEN Configureert de huidige verbinding
Systeem Systeem beheer SYSTEEM WIJZIGEN, weergaven bewaken Beheert de database-instantie zelf.

UPSERT is het vermelden waard omdat het niet in elke programmeertaal voorkomt. Het voegt een rij in wanneer de sleutel nieuw is en werkt deze bij wanneer de sleutel al bestaat, waardoor een veelvoorkomend patroon van twee statements wordt vermeden.

Commentaar in SQL

We kunnen een opmerking toevoegen om de leesbaarheid en onderhoudbaarheid van SQL-instructies te verbeteren. Er kunnen op twee manieren commentaar op SQL worden geplaatst:

  • Enkele regel commentaar โ€“ Double Koppelteken โ€œโ€“โ€œ. Dit is een commentaarregel.
  • Meerdere regels commentaar โ€“ โ€œ/* */โ€.

Alle tekst met commentaar wordt genegeerd door 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;

Basisvoorbeelden van SQL-syntaxis in SAP HANA

De onderstaande instructies beschrijven de dagelijkse cyclus van het maken van een schema, het definiรซren van een tabel, het laden van rijen en het teruglezen ervan. Ze worden ongewijzigd uitgevoerd in de SQL-console.

1) Maak een schema aan. Een schema is de eigenaar van de objecten die erin worden aangemaakt en is het eerste wat een nieuw project nodig heeft.

CREATE SCHEMA DHK_SCHEMA;
SET SCHEMA DHK_SCHEMA;

2) Maak een kolomtabel aan. Kolomopslag is de standaard en de reden voor de hoge analytische snelheid van HANA. Rijopslag wordt alleen gekozen voor kleine tabellen met veel schrijfbewerkingen.

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) Rijen invoegen en bijwerken. INSERT voegt een rij toe en UPDATE wijzigt bestaande rijen. Combineer een UPDATE altijd met een WHERE-clausule, tenzij elke rij daadwerkelijk moet worden gewijzigd.

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) De gegevens opvragen. SELECT ondersteunt de bekende WHERE-, GROUP BY-, HAVING- en ORDER BY-clausules.

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

5) Toegang verlenen en vastleggen. DCL bepaalt wie de tabel mag lezen, en COMMIT maakt de wijziging permanent.

GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER;
COMMIT;

De details op veldniveau van elke kolomdefinitie worden behandeld in SAP HANA-gegevenstypenen de symbolen die in de WHERE-clausule worden gebruikt in SAP HANA-operators.

SAP HANA SQL versus standaard SQL

SAP HANA volgt de SQL-standaard nauwgezet, waardoor een ervaren ontwikkelaar snel productief kan zijn. De belangrijkste verschillen zijn toevoegingen in plaats van afwijkingen.

De Omgeving Standaard SQL SAP HANA-SQL
Tafelopslag Standaard rijgeoriรซnteerd Kolomopslag standaard, rijopslag optioneel.
Invoegen of bijwerken in รฉรฉn statement SAMENVOEGEN, indien ondersteund UPSERT, een eenvoudigere syntaxis voor hetzelfde resultaat.
Resultaatsetlimiet dialectspecifiek LIMIET met OFFSET, plus TOP
Procedurele uitbreiding Leverancier specifiek SQLScript, met tabelvariabelen en parallelle uitvoering
Volledige tekst zoeken Meestal een toevoeging. Ingebouwd via TEXT- en SHORTTEXT-kolommen
Hoofdlettergevoeligheid Variabel Niet-gelimiteerde identificatoren worden in hoofdletters weergegeven, gelimiteerde identificatoren behouden hun hoofdlettergevoeligheid.

De identificatieregel zorgt voor de meeste verrassingen. Het schrijven van een tabelnaam in kleine letters zonder aanhalingstekens resulteert in een hoofdletter, en vervolgens lukt het niet om de tabelnaam te vinden als deze binnen aanhalingstekens in kleine letters wordt weergegeven. De regels zijn vastgelegd in de gegevenstypen en identificatoren handleiding, waarbij het bredere platform wordt behandeld in de SAP HANA-handleiding series.

Veelgestelde vragen

SQL verwerkt afzonderlijke instructies. SQLScript voegt procedurele logica toe, zoals variabelen, lussen en tabelvariabelen, waardoor meerdere stappen in de database kunnen worden uitgevoerd in plaats van in de applicatielaag.

Kolomtabellen zijn geschikt voor vrijwel alles, omdat compressie en analytische leesbewerkingen veel sneller zijn. Rijtabellen zijn geschikt voor kleine configuratietabellen die bij elke toegang volledig, record voor record, worden gelezen.

Ja. Op basis van het schema genereren taalmodellen correcte SELECT-instructies uit een schriftelijk verzoek. RevBekijk joins en filters zorgvuldig, want een plausibele query kan nog steeds het verkeerde antwoord geven.

Ja. AI leest het uitvoeringsplan en stelt herschrijvingen, een betere volgorde van joins of ontbrekende filters voor. Meet het resultaat, want een suggestie die het ene datavolume helpt, kan een ander datavolume juist schaden.

Nee. De parser verwijdert ze vรณรณr de uitvoering, dus commentaren kosten niets tijdens de runtime. Ze zijn de goedkoopste manier om een โ€‹โ€‹lange analytische verklaring onderhoudbaar te maken.

Vat dit bericht samen met: