PL/SQL
Le PL/SQL est un langage de programmation développé par Oracle, permettant l'écriture de scripts qui contiennent des commandes SQL.
Le PL/SQL est utilisé dans les triggers, les procédures stockées, les packages, dans Oracle Forms et Reports.
Script [Modifier] Un programme PL/SQL se présente sous la forme d'un fichier texte, qui est créé et modifié par un éditeur de texte. Les commentaires sont entre "/*" et "*/", ou bien sont entre "--" et la fin d'une ligne. Chaque ligne doit se terminer par ";" un point virgule (sauf quand la ligne est celle d'une condition (IF) car elle n'est pas considérée comme une ligne complète. A noter qu'il faut mettre un point virgule après "END IF" et "END", mais pas après "DECLARE" et "BEGIN". Une fonction retourne une donnée. Une procédure ne retourne rien. La structure d'une procédure est : PROCEDURE nom_de_la_procedure (nom_d_un_parametre IN_ou_OUT NUMBER_ou_VARCHAR2 nom_d_un_parametre IN_ou_OUT NUMBER_ou_VARCHAR2) IS nom_d_une_variable NUMBER_ou_VARCHAR2 nom_d_une_variable NUMBER_ou_VARCHAR2 BEGIN -- Commentaire instructions instructions /* Autre commentaire */ END;La structure d'une fonction est identique sauf l'ajout du type retourné entre ")" et "IS". FUNCTION nom_de_la_fonction (nom_d_un_parametre IN_ou_OUT NUMBER_ou_VARCHAR2 nom_d_un_parametre IN_ou_OUT NUMBER_ou_VARCHAR2) RETURN VARCHAR2 IS nom_d_une_variable NUMBER_ou_VARCHAR2 nom_d_une_variable NUMBER_ou_VARCHAR2 BEGIN instructions instructions RETURN(donnée); END; Variables [Modifier] Le nom d'une variable ne doit pas dépasser 30 caractères. Oracle ne fait pas de différence entre les majuscules et les minuscules pour les noms des variables et pour les mots-clés. Les variables doivent être déclarées dans une section entre le mot "DECLARE" et le mot BEGIN. Exemple de déclaration : DECLARE v_return BOOLEAN := TRUE; v_ct NUMBER := 0; v_test VARCHAR2(100) := 'Test d''une chaîne avec apostrophe'; v_name VARCHAR2(150); BEGIN ...
Opérateurs [Modifier] Assignation [Modifier] L'assignation, l'association, le remplissage d'une variable par une donnée, se fait par l'opérateur ":=". Il ne faut pas oublier le signe des deux points devant le signe égal. Ou, et, non [Modifier] OU. L'opérateur "ou" inclusif, que l'on trouve dans les conditions, est "OR". ET. L'opérateur "et", que l'on trouve dans les conditions, est "AND". NON. L'opérateur "non" est "NOT". Nul. Le test pour savoir si une donnée est nulle ou non est "IS NULL" ou "IS NOT NULL". Longueur. La longueur est donnée par "LENGTH(variable)". Concaténation [Modifier] Elle est réalisée en mettant deux barres verticales. C'est le même symbole que pour l'opérateur OU en langage C/C++/Java. Instructions [Modifier] Condition [Modifier] IF condition THEN instructions END IF; IF condition THEN instructions ELSE instructions END IF; IF condition THEN instructions ELSIF condition THEN instructions END IF;Il ne faut pas oublier "THEN" à la fin d'une condition. C'est grâce à IF et THEN que les parenthèses ne sont pas obligatoires autour d'une condition. Mais on peut tout de même écrire des parenthèses pour des raisons d'esthétisme. C'est "ELSIF", pas "ELSEIF". Il ne faut pas oublier le point virgule après "END IF". Exemples [Modifier] Divers [Modifier] PL/SQL est insensible à la casse (les lettres majuscules et minuscules peuvent être employées indifféremment). Oracle recommande d'utiliser les majuscules pour les mots-clés : BEGIN, EXCEPTION, END, IF, THEN, ELSE, LOOP, END LOOP, OPEN, FETCH, CLOSE, NULL, RETURN, RAISE, %FOUND, %NOTFOUND, VARCHAR2, NUMBER, DATE, TRUE, FALSE, %TYPE, SQL%ROWCOUNT, AND, OR, NOT, etc. PL/SQL 8, développé vers 2000, inclut des fonctionnalités objet. Lien [Modifier] Notes [Modifier]
|