Oracle PL /SQL est un langage procédural qui est une extension de SQL, ou le langage de requête structuré. Utilisez le PL /SQL pour obtenir les résultats souhaités lors de la DML standard, ou Data Manipulation Language ou certains états ne peuvent pas. Procédures , des fonctions, des déclencheurs et des forfaits sont quatre types distincts d' objets stockés ou des programmes stockés , écrites en PL /SQL. Vous devez comprendre le concept de la création et du maintien des PL /SQL objets stockés afin d'optimiser les performances et le temps de programmation. Dans cet article, l'accent est mis sur une procédure et une fonction. Instructions 1 Connectez-vous à Oracle SQL * Plus en cliquant sur " Démarrer", " Tous les programmes " et " SQLPlus . " 2 Entrez votre nom d'utilisateur et mot de passe , puis cliquez sur "OK". dans la boîte de dialogue Oracle SQL * Plus. 3 créer une procédure . Une procédure est compilée et stockée dans le dictionnaire de données une fois . Emmagasiner un seul exemplaire de la procédure respecté réduit le trafic réseau lorsque plus d'un utilisateur a besoin de l'appeler. À l'invite SQL , saisissez le code. SQL > Photos " CREATE OR REPLACE PROCEDURE update_product_price (produits p_product_id EN products.product_id % TYPE , AB p_factor eN nOMBRE ) AS v_product_count Integer; BEGIN - compter le nombre de produits avec le < br > - fourni produit_id ) SELECT COUNT (*) EN v_product_count à partir de produits OÙ produit_id = p_product_id ; - si le produit existe ( v_product_count = 1) puis - mise à jour de ce prix la du produit IF v_product_count = 1 alors produits mISE À JOUR Cours de SET = prix * p_factor OÙ product_ID = p_product_id ; COMMIT ; END IF ; EXCEPTION QUAND autres alors ROLLBACK ; FIN update_product_price ; /" Après la procédure est compilé , il affichera « Procédure créé " < . p> Remarque: Pour exécuter avec succès et appeler cette procédure , une table de produits doit exister dans la base de données Oracle avec des données stockées aide de la commande «SELECT» et «où» commande pour interroger le prix du produit n ° 1 . afin que vous puissiez faire une comparaison après l' appel de la procédure . À l'invite SQL , saisissez le code SQL > Photos "SELECT produit_id, product_type_id , nom, description, prix à partir de produits OÙ Product_ID = 1; " . < Br > les résultats s'afficheront l'ensemble du dossier , mais énumérés ci-dessous est seulement la colonne de prix pour le produit qui est étiqueté comme produit_id = 1. pRIX ------- - 19,95 appeler la procédure update_product_price . À l'invite SQL, entrez le code SQL > Photos "CALL update_product_price (1, 1,5 ) ; " . . Appel terminé Le résultat affiche que l'appel terminé et que le prix de produt_id est mis à jour lorsque vous utilisez la commande SELECT et WHERE commandes à l'invite SQL SQL > SELECT FROM des prix des produits où product_ID = 1 ; . pRIX < br > ---------- 29,93 4 créer une fonction . Lorsque vous appelez une fonction dans une déclaration , il doit retourner une valeur. En outre, les nombreuses fonctions livrées hors de la boîte avec la base de données Oracle 10g , les développeurs de créer leurs propres fonctions pour augmenter l' impact sur les performances . À l'invite SQL , saisissez le code. SQL > Photos " CREATE OR REPLACE average_product_price FONCTION (produits p_product_type_id EN ENTIER ) NOMBRE DE RETOUR < br > AS NUMÉRO v_average_product_price ; BEGIN SELECT AVG (price) eN v_average_product_price à partir de produits < br > OÙ product_type_id = p_product_type_id ; v_average_product_price dE RETOUR ; FIN average_product_price ; . /" Fonction: créée le résultat affiche la fonction créée , puis l'appel à la average_product_price aide de l'instruction SELECT de la double table. À l'invite SQL , saisissez le code SQL > Photos "SELECT average_product_price (1 ) FROM dual ; ». AVERAGE_PRODUCT_PRICE (1) Photos ------------------------ 29,93 < br >
|