SAP Tutoriel sur les procédures stockées HANA SQL

Que sont les procédures stockées SQL ?

Une procédure est une unité/un module qui effectue une tâche spécifique. Cette procédure peut être combinée pour former des programmes plus vastes. Cela constitue essentiellement la « conception modulaire ». Une procédure peut être invoquée par une autre procédure appelée programme appelant.

Les procédures sont des blocs de traitement réutilisables avec une séquence spécifique de transformation de données. La procédure peut avoir des paramètres multi-entrées/sorties. La procédure peut être créée en lecture seule ou en lecture-écriture.

An SQL La procédure peut être créée à –

  • Au niveau du schéma (nœud de catalogue)
  • Au niveau du package (nœud de contenu)

Syntaxe de procédure stockée dans SAP HANA est comme indiqué ci-dessous –

SYNTAXE

CREATE PROCEDURE <proc_name> [(<parameter_clause>)] [LANGUAGE <lang>]    
        [SQL SECURITY <mode>] [DEFAULT SCHEMA <default_schema_name>]
        [READS SQL DATA [WITH RESULT VIEW <view_name>]] AS
        {BEGIN [SEQUENTIAL EXECUTION]
				<procedure_body>			
        END        
        | HEADER ONLY }

L'instruction CREATE PROCEDURE crée une procédure en utilisant le langage de programmation mentionné .

ÉLÉMENTS DE SYNTAXE

ÉLÉMENTS DESCRIPTION
Nom de la procédure
Le paramètre est défini ici. Les paramètres IN, OUT, INOUT sont là. Chaque paramètre est marqué à l'aide des mots-clés IN/OUT/INOUT

• IN – Utilisé pour la procédure Pass Value To en tant qu'INPUT. Il s’agit d’un paramètre en lecture seule.

• OUT – Utilisé pour la valeur de retour de la procédure comme SORTIE.

• INOUT – Utilisé pour la procédure de passage et de valeur de retour à la procédure par le même paramètre.

LANGUE Définit le langage de programmation utilisé dans la procédure. Valeur par défaut : SQLSCRIPT
SÉCURITÉ SQL Spécifie le mode de sécurité de la procédure. Par défaut : DÉFINEUR

• DEFINER – Spécifie que l'exécution de la procédure est effectuée avec les privilèges du définisseur de la procédure.

• INVOKER – Spécifie que l'exécution de la procédure est effectuée avec les privilèges de l'appelant de la procédure.

Il définit le schéma des objets non qualifiés dans le corps de la procédure. Si rien n'est défini, alors le schéma courant de la session est utilisé pour la procédure.
LIT LES DONNÉES SQL Il marque la procédure comme étant en lecture seule, cela signifie que la procédure ne modifie pas les données de la base de données ni sa structure et qu'elle ne contient pas d'instructions DDL ou DML. Cette procédure appelle uniquement d'autres procédures en lecture seule.
AVEC VUE DES RÉSULTATS Il définit la vue des résultats à utiliser comme sortie d'une procédure en lecture seule.
Si une vue de résultat est spécifiée pour une procédure, elle peut alors être appelée par un SQL instruction dans le même processus qu’une table ou une vue.
EXÉCUTION SÉQUENTIELLE Cette instruction forcera l’exécution séquentielle de la logique de la procédure. Aucun parallélisme n'a lieu.
Il définit le corps principal de la procédure en fonction du langage de programmation sélectionné.
EN-TÊTE UNIQUEMENT Si Header Only est utilisé, seules les propriétés de procédure sont créées avec l’OID.