diff --git a/COURS/PLSQL.tex b/COURS/PLSQL.tex index a70c7d9..13f932c 100644 --- a/COURS/PLSQL.tex +++ b/COURS/PLSQL.tex @@ -13,6 +13,10 @@ \usepackage{eurosym} +\usepackage{fourier} +\usepackage{fontawesome} + + \theoremstyle{definition} @@ -124,7 +128,7 @@ \begin{titlepage} \begin{center} -\textsc{\Large IUT Informatique Aubière \hfill 2019 - 2020} \\[.5cm] +\textsc{\Large IUT Informatique Aubière \hfill 2020 - 2021} \\[.5cm] \hrule @@ -283,32 +287,58 @@ serveur), comme des procédures stockées ou des déclencheurs. SQL/Plus est un utilitaire en ligne de commande d'Oracle qui permet aux utilisateurs d'exécuter interactivement des commandes SQL et PL/SQL. Il est ainsi possible de paramètrer les fichiers de commandes -SQL. Pour cela il est important de stocker des informations dans des -variable : \code{variable vnoproduit CHAR(6)}. Cette commande déclare -une «bind variable» utilisable dans une commande SQL. Les diff\'erents -formats autorisés sont : \code{NUMBER}, \code{CHAR(n)} et -\code{VARCHAR2(n)}. Afin d'interagir avec l'utilisateur il existe deux -commandes : +SQL pour avoir plus d'interaction avec l'utilisateur. -\code{PROMPT taper le N° du produit} +\paragraph{Variables.} +Pour cela il possible de stocker des donn\'ees dans des variables. La +commande \code{variable vnoproduit CHAR(6)} d\'eclare une variable +appell\'ee \code{vnoproduit} de type cha\^ine de caract\`eres de +longueur $6$. Afin de se souvenir qu'une variable est d\'eclar\'ee par +le mot cl\'e \code{variable} \`a l'ext\'erieur d'un bloc PL/SQL, il +est conseill\'e de pr\'efixer les noms de ces variables par la lettre +\code{v}. Cette commande déclare une «bind variable» utilisable dans +une commande SQL. Les diff\'erents formats autorisés sont : +\code{NUMBER}, \code{CHAR(n)} et \code{VARCHAR2(n)}. + + +Pour acc\'eder \`a une variable il faut pr\'efixer son nom par la +caract\`ere sp\'ecial \& ainsi \code{\&vnoproduit} permet d'acc\'eder +\`a la chaîne de caractères stock\'ee dans la variable +\code{vnoproduit}. Il est alors possible de faire des requ\^etes SQL +qui utilisent le contenu de ces varaibles : + +\code{SELECT * FROM tproduit WHERE Nproduit = ‘\&vnoproduit’;} -Cette commande affiche le texte placé après prompt. Attnetion il n'y a -pas de quote. -\code{ACCEPT vnoproduit} -Cette commande permet la saisie d'une variable au clavier et la -déclare si elle ne l’était pas. +\paragraph{Interaction avec l'utilisateur.} -\code{SELECT * FROM tproduit WHERE N°produit = ‘\&vnoproduit’;} +Afin d'interagir avec l'utilisateur, il existe deux types de commandes. -\code{\&vnoproduit} permet d'acc\'eder \`a la chaîne de caractères -stock\'ee dans la variable \code{vnoproduit}. +\begin{description} +\item[Affichage :] Il est possible d'\'ecrire le contenu d'une + variable et d'afficher du texte. + \begin{itemize} +\item Pour afficher le contenu d'une variable, il faut utiliser la commande +\code{PRINT} comme suit : \code{PRINT vnoproduit} -Cette commande affiche le contenu de la variable. + \item Pour \'ecrire un message visible par l'utilisateur, + il faut utiliser le mot cl\'e \code{prompt}. Par exemple la commande + suivante affiche le texte placé après \code{prompt} : + +\code{PROMPT taper le nom du produit} + +\faWarning{} Attention il n'y a pas de quote. + \end{itemize} +\item[Saisie :] La seconde commande permet de saisir des donn\'ees par un + utilisateur. La commande suivante permet la saisie d'une variable + au clavier et la déclare si elle ne l’était pas. + +\code{ACCEPT vnoproduit} +\end{description} \section{Exécution du code PL/SQL}