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.3. Exécuter des commandes SQL

Dans une même perspective, toute commande SQL, incluse dans des sections spécialement marquées, peut être exécutée à l'intérieur d'une application SQL embarqué. Ces sections se présentent toujours de la manière suivante :

EXEC SQL instructions_SQL ;

En ce qui concerne le mode par défaut, les instructions ne sont validées que lorsque EXEC SQL COMMIT est exécuté.

De même, l'interface SQL embarqué supporte aussi la validation automatique des transactions via l'instruction EXEC SQL SET AUTOCOMMIT TO ON.

Dans ce cas, chaque commande est automatiquement validée. Ce mode peut être explicitement désactivé en utilisant EXEC SQL SET AUTOCOMMIT TO OFF.

Voici un exemple permettant de créer une table :

V.4. Les variables hôtes

A. Notion aux variables hôtes

Aujourd'hui, la transmission de données entre le programme C et le serveur de base de données est particulièrement simple en SQL embarqué. C'est dans ce sens qu'il est possible d'utiliser une variable C, dans une instruction SQL, simplement en la préfixant par le caractère deux-points (« : »). Comme on peut le constater, pour insérer une ligne dans la table individu on peut écrire :

EXEC SQL INSERT INTO individu VALUES (:var_num, 'Poustopol', :var_prenom);

88

Pour pouvoir mettre en oeuvre un exploit, cette instruction fait référence à deux variables C nommées var_num et var_prenom et utilise aussi une chaîne littérale SQL ('Poustopol') pour illustrer que vous n'êtes pas restreint à utiliser un type de données plutôt qu'un autre.

L'obtention d'informations dans l'environnement SQL, fait que nous appelons les références à des variables C des variables hôtes.

B. Déclaration des variables hôtes

En connaissant cela, il est dit que les variables hôtes sont des variables de langage C identifiées auprès du préprocesseur SQL. Pour cela, et pour être définies, les variables hôtes doivent être placées dans une section de déclaration, comme suit :

EXEC SQL BEGIN DECLARE SECTION; declarations_des_variables_C

EXEC SQL END DECLARE SECTION;

Pour pouvoir s'introduire, vous pouvez avoir autant de sections de déclaration dans un programme que vous le souhaitez.

Grâce aux étapes précédentes, les variables hôtes peuvent remplacer les constantes dans n'importe quelle instruction SQL. Un premier accès est lorsque le serveur de base de données exécute la commande, il utilise la valeur de la variable hôte. Il en va de même lorsqu'une variable hôte ne peut pas remplacer un nom de table ou de colonne. Ces choses étant déjà dites, dans une instruction SQL, le nom de la variable est précédé du signe deux-points (« : ») pour le distinguer d'autres identificateurs admis dans l'instruction.

Plus loin, les initialisations sur les variables sont admises dans une section de déclaration. Il s'agit surtout des sections de déclarations qui sont traitées comme des variables C normales dans le fichier de sortie du précompilateur. De ce fait, il ne faut donc pas les redéfinir en dehors des sections de déclaration. C'est ne pas tout, les variables qui n'ont pas pour but d'être utilisées dans des commandes SQL peuvent être normalement déclarées en dehors des sections de déclaration.

La puissance des variables en langage C ont leur portée normale au sein du bloc dans lequel elles sont définies. Une fois de plus, le préprocesseur SQL n'analyse pas le code en langage C. Par contre, il ne respecte pas les blocs C. outre, pour le préprocesseur SQL, les variables hôtes sont globales : il n'est pas possible que deux de ces variables portent le même nom.

89

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








"Nous voulons explorer la bonté contrée énorme où tout se tait"   Appolinaire