WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Gestion d'informations. Mutation vers les bases de données relationnelles et le langage SQL.


par Jacques MUDUMBI
Université de Yaoundé 1 - Master 2017
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

V.5. Variables indicateurs

Aperçu

Etant donné l'augmentation, les variables indicateurs sont des variables en langage C qui fournissent des informations complémentaires pour les opérations de lecture ou d'insertion de données. Après une analyse approfondie, il existe plusieurs types d'utilisation pour ces variables :

Valeurs NULL : Pour permettre aux applications de gérer les valeurs NULL.

Troncature de chaînes : Pour permettre aux applications de gérer les cas où les valeurs lues doivent être tronquées pour tenir dans les variables hôtes.

Erreurs de conversion : Pour stocker les informations relatives aux erreurs.

En analysant ces types d'utilisations, une variable indicateur est une variable hôte de type int suivant immédiatement une variable hôte normale dans une instruction SQL. Utilisation de variables indicateur

La meilleure manière d'apprécier les données SQL, est que la valeur NULL représente un attribut inconnu ou une information non applicable. Cela est dû, il ne faut pas confondre la valeur NULL de SQL avec la constante du langage C qui porte le même nom (NULL). Cette dernière représente un pointeur non initialisé, incorrect ou ne pointant pas vers un contenu valide de zone mémoire.

La valeur NULL n'équivaut à aucune autre valeur du type défini pour les colonnes. Ainsi, si une valeur NULL est lue dans la base de données et qu'aucune variable indicateur n'est fournie, une erreur est générée (SQLE_NO_INDICATOR). Pour transmettre des valeurs NULL à la base de données ou en recevoir des résultats NULL, des variables hôtes d'un type particulier sont requises : les variables indicateurs.

Comme dans l'exemple précédent, une erreur est générée si, pour une raison quelconque, le titre du film n'existe pas et que sa valeur est NULL. Pour s'affranchir de ce problème, on utilise une variable indicateur de la manière suivante :

91

Dans cet exemple, la variable indicateur val_ind vaudra zéro si la valeur retournée n'est pas NULL et elle sera négative si la valeur est NULL. Cette approche vaut, si la valeur de l'indicateur est positive, cela signifie que la valeur retournée n'est pas NULL mais que la chaîne a été tronquée pour tenir dans la variable hôte.

V.6. Gestion des erreurs

A. Configurer des rappels : instruction WHENEVER

Nous devons noter, que l'instruction WHENEVER est une méthode simple pour intercepter les erreurs, les avertissements et les conditions exceptionnelles rencontrés par la base de données lors du traitement d'instructions SQL.

Par ailleurs, elle consiste à configurer une action spécifique à exécuter à chaque fois qu'une condition particulière survient. Cette opération s'effectue de la manière suivante :

EXEC SQL WHENEVER condition action;

Le paramètre condition peut prendre une des valeurs suivantes :

SQLERROR : L'action spécifiée est appelée lorsqu'une erreur survient pendant l'exécution d'une instruction SQL.

SQLWARNING : L'action spécifiée est appelée lorsqu'un avertissement survient pendant l'exécution d'une instruction SQL.

NOT FOUND : L'action spécifiée est appelée lorsqu'une instruction ne récupère ou n'affecte aucune ligne.

Le paramètre action peut avoir une des valeurs suivantes :

CONTINUE : Signifie effectivement que la condition est ignorée. C'est l'action par défaut. SQLPRINT : Affiche un message sur la sortie standard. Ceci est utile pour des programmes simples ou lors d'un prototypage. Les détails du message ne peuvent pas être configurés. STOP : Appel de exit(1), ce qui terminera le programme.

BREAK : Exécute l'instruction C break. Cette action est utile dans des boucles ou dans des instructions switch.

GOTO label et GO TO label : Saute au label spécifié (en utilisant une instruction C goto).

92

CALL nom (args) et DO nom (args) : Appelle les fonctions C spécifiées avec les arguments spécifiés.

Le standard SQL ne définit que les actions CONTINUE et GOTO ou GO TO.

De plus, l'instruction WHENEVER peut être insérée en un endroit quelconque d'un programme SQL embarqué.

En raison du caractère évolutif d'interrompre les erreurs, cette instruction indique au préprocesseur de générer du code après chaque instruction SQL. En conséquence, cette instruction reste active pour toutes les instructions en SQL embarqué situées entre la ligne de l'instruction WHENEVER et l'instruction WHENEVER suivante contenant la même condition d'erreur, ou jusqu'à la fin du fichier source.

Ce sont là tous les conditions d'erreur qui sont fonction du positionnement dans le fichier source de langage C et non du moment où l'instruction est exécutée.

Seule, cette instruction est fournie pour vous faciliter le développement de programmes simples. Il est plus rigoureux de contrôler les conditions d'erreur en vérifiant directement le champ sql code de la zone SQLCA. A l'issue de cette réflexion, l'instruction WHENEVER est inutile. Pourquoi parce que en fait, l'instruction WHENEVER se contente de demander au préprocesseur de générer un test if (SQLCODE ) après chaque instruction SQL.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il faut répondre au mal par la rectitude, au bien par le bien."   Confucius