Comment programmer avec PL / SQL Oracle 12c

Il ya plusieurs façons différentes de travailler au sein de votre base de données Oracle 12c pour manipuler vos données. PL / SQL est un langage structuré de requêtes (SQL) avec plus puissantes contructs programmatiques construits autour de votre code. Par exemple, les offres PL / SQL

Sommaire

  • Looping commande

  • Variables

  • Si / construit alors

  • La gestion des erreurs

SQL normale n'a vraiment pas de tout cela. SQL normale est bon d'utiliser dans le code qui agit sur des données spécifiques dans le "maintenant". Il ne peut pas prendre des décisions basées sur les données. Vous devez savoir ce que les données sont - et comment vous voulez qu'il regarde.

PL / SQL est également plus sûr que SQL régulière. Tel qu'il est, lorsque les utilisateurs exécutent SQL, ils doivent disposer d'autorisations sur les objets sous-jacents dans lesquels les données vit. Cependant, avec PL / SQL, exécuter des programmes nommés avec les autorisations du propriétaire.

De cette façon, le propriétaire des données pourrait écrire un programme pour gérer les données. Le propriétaire donne alors accès au programme de l'utilisateur, et non les objets sous-jacents. Par exemple, dire que vous avez un programme qui tire l'histoire de salaire d'un utilisateur pour eux de voir.




Vous ne voulez pas que l'utilisateur soit en mesure de sélectionner sur la table de salaire de l'employé. Et sans un programme PL / SQL, qui est ce que vous avez à faire. Vous pouvez coder en sorte que lorsque le programme est exécuté, le programme tire à l'utilisateur connecté comme une variable et recueille l'histoire de salaire pour seul cet utilisateur.

PL / SQL est souvent le domaine principal de développeurs d'applications. En tant qu'administrateur de base de données (DBA), cependant, vous devriez également se familiariser avec les principes de base du code et être capable de lire comment les fonctions de code. Même si les DBA peuvent ne pas être les développeurs d'applications, vous serez appelé pour aider code de dépanner ou code air qui peut être sous la forme de programmes PL / SQL.

Types de base de PL / SQL dans les programmes Oracle 12c

PL / SQL programmes prennent de nombreuses formes. Programmes PL / SQL sont également parfois appelés «unités de programme." Regardez ci-dessous pour obtenir une liste des types communs de PL / SQL construit vous croiserez.

NomDescription
ANONYME BLOCUn programme nommé qui va de la ligne de commande
PROCÉDUREStocké, programme nommé qui exécute une des tâches
FONCTIONProgramme qui accepte une entrée, agit sur elle, et producesoutput
FORFAITGroupe des procédures et / ou des fonctions nommées qui sont liés bytask
TRIGGERProgramme agit sur les résultats d'une autre action-firesautomatically
Notions de base de la structure / du bloc de SQL PL dans Oracle 12c

PL / SQL programmes sont construits sur la structure de bloc. Autrement dit, ils peuvent être décomposés en parties spécifiques du programme basé sur la fonction. Les parties du bloc PL / SQL varient légèrement en fonction du type d'unité de programme, mais ils ont tous des caractéristiques similaires. Voici une ventilation des parties d'une unité PL / SQL de programme:

  • Déclarative: Cette section contient le nom de l'unité (si il est nommé) et toutes les variables. Les variables sont nommées, typés, et éventuellement initialisés dans la section. L'unité de programme ne serait pas nommé si elle est codée comme un bloc anonyme. Un bloc anonyme est utilisé lorsque vous êtes souvent écrivez un programme pour une utilisation unique.

  • Corps: Ceci est la section qui contient le programme de la viande. Il contient la fonctionnalité et la logique de gestion nécessaires au traitement des variables et des données. Vous verrez des choses comme les boucles et IF / THEN déclarations dans cette section.

  • Exception: Cette section définit et gère toutes les erreurs qui surviennent au cours du traitement du corps. Si une erreur est manipulé correctement, souvent le programme peut continuer à fonctionner. Ou, à tout le moins, une sortie de message signifiant à l'utilisateur final. Si une erreur est rencontrée et ne sont pas pris en charge par la section d'exception, souvent le programme interrompt avec un message d'erreur par défaut.

  • Fin: La section d'extrémité ne contient rien. Il signifie tout simplement que le programme est à la fin de son traitement. Et dans un boîtier de nombreuses procédures, la section d'extrémité la sépare de la procédure suivante dans la liste.

Comment appeler PL / SQL avec les programmes Oracle 12c

PL / SQL procédures, fonctions et paquets sont appelés dans un couple de différentes manières. Vous pouvez utiliser la commande EXECUTE, ou vous pouvez appeler le programme dans le cadre d'un autre bloc. Déclencheurs, d'autre part, ne sont pas appelée à partir de la ligne de commande.

Ils exécutent automatiquement seulement après un autre processus se termine. Par exemple, vous voudrez peut-être un déclencheur pour le feu chaque fois que quelqu'un met à jour la colonne de salaire de la table des employés. Puis, peut-être ce déclencheur tire un e-mail au directeur des ressources humaines pour signaler le changement.

La commande DESCRIBE peut également travailler contre les programmes PL / SQL. Cela peut se révéler utile si vous ne connaissez pas les arguments ou les variables que la procédure peut prendre pour l'entrée. Par exemple, dire que vous avez une procédure qui obtient le salaire d'un employé basé sur le premier et dernier saisie du nom. La procédure est appelée get_sal.

SQL> DESCRIBE get_salPROCEDURE get_salArgument Nom Type In / Out défaut? ------------------------------ -------- --------------- ------ -------- P_LAST_NAME VARCHAR2INP_FIRST_NAME VARCHAR2IN

La procédure prend à IN arguments de type VARCHAR2.

Voici comment vous souhaitez exécuter la procédure avec la commande EXECUTE, en utilisant l'employé Mike Whalen:

SQL> EXECUTE get_sal («Whalen», «Mike») Mike, Whalen - Donne: $ 8300PL / procédure de SQL terminée avec succès.

Comme mentionné précédemment, Oracle a une pléthore de paquetages pré-fourni, de procédures et de fonctions pour gérer la base de données. Pour obtenir une liste complète, rendez-vous à la section suivante de la documentation qui décrit toutes les unités de programmes fournis par Oracle.

Voici quelques exemples de programmes fournis par Oracle.

NomDescription
DBMS_SCHEDULERGère le planificateur de base de données interne
DBMS_STATSRecueille des statistiques sur les utilisateurs, les objets, le système et wholedatabase
SYSDATEL'heure et la date de sorties du système
UTL_MAILUtilitaire pour l'e-mail avec des fonctionnalités telles que les pièces jointes, Cc, andBcc
DBMS_METADATAFonction pour tirer objet DDL sur base de données parmi OtherTasks
DBMS_DATAPUMP APIGère Data Pump dans un programme PL / SQL

» » » Comment programmer avec PL / SQL Oracle 12c