Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Talend Open Studio
  3. Introduction à PL/SQL
Extrait - Talend Open Studio Le guide complet pour l'intégration de données
Extraits du livre
Talend Open Studio Le guide complet pour l'intégration de données
1 avis
Revenir à la page d'achat du livre

Introduction à PL/SQL

Introduction

PL/SQL, qui signifie Procedural Language/Structured Query Language, est un langage de programmation qui permet de gérer les bases de données relationnelles Oracle. Il offre des fonctionnalités avancées pour la manipulation des données, telles que la création de procédures stockées, de fonctions, de déclencheurs et de packages.

Dans ce chapitre, nous allons explorer l’utilisation de PL/SQL avec Talend pour accéder aux données dans une base de données Oracle et les manipuler.

En suivant les étapes décrites dans ce chapitre, vous serez en mesure de développer des flux de données plus efficaces et performants en utilisant les puissantes fonctionnalités de PL/SQL avec Talend. Ce chapitre est destiné aux utilisateurs de Talend qui souhaitent améliorer leur expertise en utilisant PL/SQL pour gérer les données dans une base de données Oracle.

PL/SQL permet de gérer :

  • Des traitements qui utilisent les instructions SQL dans un langage procédural.

  • Les instructions de manipulation des données, de description des données, de contrôle des transactions.

  • Les fonctions SQL qui peuvent être utilisées avec la même syntaxe.

  • Les variables et des structures de contrôle (tests, boucles), ce qui augmente la capacité de traitement des données....

Définitions

Il existe plusieurs termes et concepts clés à comprendre avant de se lancer dans l’apprentissage de PL/SQL :

  • Base de données relationnelle : PL/SQL est utilisé pour gérer les bases de données relationnelles, qui sont des bases de données utilisant des relations entre les tables pour organiser les données.

  • Structures de données : PL/SQL utilise des structures de données telles que les tables, les vues, les index, les synonymes et les séquences pour organiser les données.

  • SQL : PL/SQL est basé sur SQL (Structured Query Language), qui est utilisé pour accéder et manipuler les données dans les bases de données relationnelles.

  • Procédures stockées : les procédures stockées sont des blocs de code PL/SQL qui peuvent être appelés pour effectuer des tâches spécifiques, comme la mise à jour des données ou la validation des données.

  • Fonctions : les fonctions sont des blocs de code PL/SQL qui peuvent être appelés pour retourner une valeur.

  • Déclencheurs : les déclencheurs sont des blocs de code PL/SQL qui sont déclenchés automatiquement lorsque certaines actions sont effectuées sur les données, comme l’insertion ou la mise à jour des données....

Exemples pratiques d’utilisation

1. Déclaration de variables et de constantes

La section des déclarations (facultative) d’un bloc commence par le mot-clé DECLARE.

Il contient toutes les déclarations de variables qui seront utilisées localement par l’exécutable, ainsi que leurs éventuelles initialisations.

set serveroutput on; 
declare 
var_salarie salaries%ROWTYPE; 
 
begin 
select * INTO var_salarie FROM salaries WHERE numero_sal=1; 
DBMS_OUTPUT.PUT_LINE('Nom : ' || var_salarie.nom_sal); 
DBMS_OUTPUT.PUT_LINE('Prénom : ' || var_salarie.prenom_sal); 
DBMS_OUTPUT.PUT_LINE('Salaire : ' || var_salarie.salaire); 
end; 
/ 

Dans ce premier exemple, une variable de type salaries%ROWTYPE a été déclarée, puis un salarié a été sélectionné par son numéro pour afficher ses nom, prénom et salaire.

Dans PL/SQL, une variable de type %ROWTYPE est une variable utilisée pour stocker une ligne d’un tableau ou d’une vue. Cela signifie que la variable aura le même type de données et le même nom de colonne que la table ou la vue à laquelle elle est liée. Cela permet de stocker les données d’une ligne de la table ou de la vue dans une variable pour une manipulation ultérieure, comme une insertion ou une mise à jour de données.

set serveroutput on; 
declare 
date_systeme date; 
var1 varchar(50):= 'portée des variables PLSQL'; 
begin 
    begin 
    date_systeme := sysdate; 
    DBMS_OUTPUT.PUT_LINE('valeur de var1: ' || var1); 
    DBMS_OUTPUT.PUT_LINE('valeur de date_system: ' || date_systeme); 
    end; 
end; 
/ 

Cette fonction PL/SQL sert à déclarer et initialiser deux variables, une de type date et une de type chaîne de caractères, puis à utiliser ces variables pour afficher leur valeur en utilisant DBMS_OUTPUT.PUT_LINE.

La commande set serveroutput on; permet d’afficher les résultats de DBMS_OUTPUT.PUT_LINE.

a. Exemples de déclarations

La section des déclarations (facultative) d’un bloc...

Travaux pratiques

Exécutez le code ci-dessous sur Oracle SQL Developer afin de générer la base de données facsys, puis essayez de répondre aux questions suivantes, en générant le code PL/SQL approprié.

Le nom de la base de données est facsys, son mot de passe est pwd.

Ce code est écrit en SQL, qui est un langage de programmation utilisé pour gérer des bases de données relationnelles. Le code crée et modifie plusieurs tables dans une base de données.

  • La première ligne (DROP USER facsys CASCADE;) supprime un utilisateur nommé facsys et toutes les dépendances qui lui sont liées.

  • La deuxième ligne (CREATE USER facsys IDENTIFIED BY pwd;) crée un nouvel utilisateur nommé facsys avec le mot de passe pwd.

  • La troisième ligne (GRANT CONNECT, RESOURCE, DBA to facsys;) donne à l’utilisateur facsys les privilèges de CONNECT, RESOURCE, et DBA.

  • La quatrième ligne (CONNECT facsys/pwd) se connecte à la base de données en utilisant les informations d’identification de l’utilisateur facsys.

  • Les lignes suivantes créent des tables dans la base de données, avec des champs spécifiques et des contraintes de clé primaire. Les lignes d’index créent des index pour améliorer les performances de certaines requêtes.

  • Enfin, les lignes d’alter table ajoutent des contraintes de clé étrangère aux tables pour garantir l’intégrité des données en maintenant la correspondance entre les clés primaires et étrangères.

/*==============================================================*/ 
/* Nom de SGBD :  ORACLE Version 10g                            */ 
/* Date de création :  18/06/2023 23:38:05                      */ 
/*==============================================================*/ 
 
DROP USER facsys CASCADE; 
CREATE USER facsys IDENTIFIED BY pwd; 
GRANT CONNECT, RESOURCE, DBA to facsys; 
 
CONNECT facsys/pwd 
 ...