0% ont trouvé ce document utile (0 vote)
22 vues4 pages

CH2 Programmation SQL

Transféré par

hdjertdf37
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
22 vues4 pages

CH2 Programmation SQL

Transféré par

hdjertdf37
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

La programmation SQL avancée est essentielle pour maîtriser l'interaction avec les bases de

données à un niveau plus poussé. Voici un aperçu des principaux concepts que tu as
mentionnés :

I. Fondements du SQL programming

1. Requêtes SQL de base : Les requêtes SQL sont principalement utilisées pour
interroger, insérer, mettre à jour et supprimer des données. Ces commandes sont
souvent les plus utilisées :

o SELECT : Pour extraire des données.

o INSERT : Pour insérer des nouvelles données.

o UPDATE : Pour mettre à jour des données existantes.

o DELETE : Pour supprimer des données.

2. Joins : L'utilisation des jointures (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL
OUTER JOIN) est cruciale pour combiner des données de plusieurs tables.

3. Sous-requêtes (Subqueries) : Les sous-requêtes sont des requêtes imbriquées dans


d'autres requêtes, permettant de récupérer des résultats pour les utiliser dans des
conditions de filtrage ou des calculs.

4. Fonctions d'agrégation : Utilisation de fonctions comme COUNT(), SUM(), AVG(),


MAX(), et MIN() pour effectuer des calculs sur les données.

5. Groupement des données : GROUP BY pour regrouper des enregistrements


similaires et HAVING pour filtrer ces groupes.

II. Les Triggers

Un trigger (ou déclencheur) est un ensemble de règles ou d'instructions qui s'exécutent


automatiquement lorsqu'un événement spécifique se produit dans une base de données.
Cela permet de maintenir l'intégrité des données ou de lancer certaines actions en réponse
à des changements dans les tables. Les types de triggers sont :

1. BEFORE Trigger : Exécuté avant qu'une opération (INSERT, UPDATE, DELETE)


ne soit effectuée.

2. AFTER Trigger : Exécuté après qu'une opération ait été effectuée.

3. INSTEAD OF Trigger : Remplace l'opération de base par l'instruction définie dans le


trigger.
Exemple de trigger :

CREATE TRIGGER exemple_trigger

AFTER INSERT ON commandes

FOR EACH ROW

BEGIN

UPDATE produits SET stock = stock - [Link]

WHERE id_produit = NEW.id_produit;

END;

III. Les fonctions et procédures stockées

1. Fonctions stockées : Ce sont des ensembles de requêtes SQL qui sont encapsulés et
stockés dans la base de données pour être réutilisés. Elles retournent généralement une
valeur unique et peuvent être utilisées directement dans des requêtes SQL.

Exemple :

CREATE FUNCTION get_total_price(product_id INT)

RETURNS DECIMAL(10,2)

BEGIN

DECLARE total DECIMAL(10,2);

SELECT price * quantity INTO total

FROM order_items

WHERE product_id = product_id;

RETURN total;

END;

2. Procédures stockées : Contrairement aux fonctions, une procédure stockée n'a pas
besoin de retourner une valeur. Elle peut être utilisée pour effectuer une série
d'opérations complexes comme des mises à jour multiples, des suppressions, ou des
calculs.
Exemple :

CREATE PROCEDURE update_order_status(order_id INT, status VARCHAR(20))

BEGIN

UPDATE orders

SET order_status = status

WHERE id = order_id;

INSERT INTO order_logs (order_id, action, action_time)

VALUES (order_id, CONCAT('Status updated to ', status), NOW());

END;

IV. Traitement et gestion des erreurs

Dans SQL, la gestion des erreurs est cruciale pour s'assurer que les opérations se déroulent
sans interruption et de manière contrôlée. Chaque système de gestion de base de données
(SGBD) peut avoir ses propres mécanismes de gestion des erreurs. Voici quelques concepts
clés :

1. Gestion des erreurs dans les procédures : De nombreux SGBD, comme MySQL et
PostgreSQL, permettent d'utiliser des blocs TRY...CATCH (ou équivalents) pour
capturer les erreurs et prendre des actions appropriées.

Exemple (dans SQL Server) :

BEGIN TRY

-- Code qui peut provoquer une erreur

INSERT INTO clients (name, age) VALUES ('Mohammed', '41');

END TRY

BEGIN CATCH

-- Actions à réaliser en cas d'erreur

PRINT 'Une erreur est survenue';

PRINT ERROR_MESSAGE();

END CATCH;
2. Transaction et rollback : Utiliser des transactions pour regrouper plusieurs
opérations. Si une erreur se produit pendant une transaction, un ROLLBACK permet
d'annuler toutes les modifications effectuées durant cette transaction.

Exemple :

BEGIN TRANSACTION;

BEGIN TRY

UPDATE comptes SET solde = solde - 100 WHERE id = 1;

UPDATE comptes SET solde = solde + 100 WHERE id = 2;

COMMIT; -- Valider la transaction

END TRY

BEGIN CATCH

ROLLBACK; -- Annuler si erreur

PRINT 'Erreur de transaction';

END CATCH;

Cela permet d'assurer la cohérence des données même en cas de défaillance pendant les
opérations.

En résumé, la programmation SQL avancée te permet de créer des solutions efficaces,


d'automatiser des processus, de maintenir l'intégrité des données, et de traiter les erreurs de
manière professionnelle.

Vous aimerez peut-être aussi