• Contact
  • Annonceurs

AURELIENPI.AT

Anything but the web !

  • Toutes les Archives
  • Blog
    • Wiki Technique
    • RDW
    • Panoramiques
    • Musique
  • Photos
  • Voyages

Conditionnement de Procedures, Fonctions, Packages, Triggers, etc. selon un environnement en PL/SQL (Oracle)

0
  • by Aurélien PIAT
  • in Wiki Technique
  • — 16 Août, 2011

Très utile pour distinguer et conditionner les blocs PL/SQL spécifiques selon les environnements dans le cadre de réplications et plus spécifiquement lors de sauvegardes par exemple :

select sys_context('USERENV','DB_NAME') as instance
from dual;

Vous pourrez ainsi générer des conditions d’exception selon vos environnements.

Explorez donc les possibilités de la fonction sys_context() vous trouverez sans doute rapidement une grande utilité à identifier certains paramètres du client ou de l’hôte pour le conditionnement d’exécution de packages, triggers etc.

--nom de la base de données
SELECT sys_context('USERENV','DB_NAME') as nom_bdd from dual;
--adresse ip du client
SELECT sys_context('USERENV', 'IP_ADDRESS') as adresse_ip FROM dual;
--nom de la machine
SELECT sys_context('USERENV', 'HOST' ) as hote FROM dual;
--schema actuel
SELECT sys_context('USERENV', 'CURRENT_SCHEMA') as curr_schema FROM DUAL;
--domaine de la base de données
SELECT sys_context('USERENV', 'DB_DOMAIN') as db_domain FROM DUAL;
--user du serveur
SELECT sys_context('USERENV', 'SERVER_HOST') as srv_hote FROM DUAL;

Voici un cas concret d’utilisation dans un bloc PL/SQL, pour identifier vôtre environnement :

DECLARE
    --Variable de travail
    v_server_host varchar2(30) := '';
BEGIN
    --Identification de l'environnement
    SELECT sys_context('USERENV', 'SERVER_HOST')
    INTO v_server_host
    FROM DUAL;

    --Conditionnement
    IF ( v_server_host = 'environnement') THEN
        --Si c'est vrai
        DBMS_OUTPUT.put_line ( 'Vous êtes sur ' || v_server_host );
    ELSE
        --Alternative
        DBMS_OUTPUT.put_line ( 'Vous n''êtes pas sur ' || v_server_host );
    END IF;

--Gestion d'exception
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        NULL;
    WHEN OTHERS THEN
        NULL;
END;

Pour aller plus loin  :

  • http://psoug.org/reference/sys_context.html
Share

Tags: fonctionoraclepackagepl/sqlprocedure

You may also like...

  • Augmenter un File System sous Linux 6 Juin, 2014
  • Backup automatique & Auto-completion avec NotePad++ 7 Mar, 2012
  • Gestion des packages sur NAS QNAP 19 Nov, 2013
  • Transcoder des donnees en un jeu de caracteres specifique en PL/SQL (Oracle) 30 Mar, 2011

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

  • Previous story Photographie : Une Nuit Etouffante
  • Next story Revue du web du 18/08/2011
  • Onglets

    • Recent Posts
    • Most Popular
    • Comments
    • Tags
    • L’Écosse en une semaine6 mars 2020
    • Belkin Wemo Switch : allumer, éteindre et statut de tous vos switchs !20 mars 2016
    • Réparer VM Oracle VirtualBox Avorté11 décembre 2014
    • NAS Thecus N25607 octobre 2014
    • Afficher la couverture du livre en cours de lecture sur le Kobo By Fnac18 mai 2012
    • Comment installer des presets (paramètres prédéfinis) sur Adobe Lightroom 4 sur Mac20 juillet 2013
    • Sauvez votre lapin ! (Nabaztag)2 août 2011
    • Test du Videoprojecteur BenQ W700+22 février 2013
    • Fanny's Party 40 - Noël à la pelle - CatnGeek on:Sauvez votre lapin ! (Nabaztag)
    • maxime arnaudet on:Comment installer des presets (paramètres prédéfinis) sur Adobe Lightroom 4 sur Mac
    • Kb on:Afficher la couverture du livre en cours de lecture sur le Kobo By Fnac
    • Muriel on:Afficher la couverture du livre en cours de lecture sur le Kobo By Fnac
    • alternative app apple application astuce bretagne coding eclipse film flore fonction ftp Google gopro guadeloupe ios iphone kobo le sud liseuse mac os x media mer nas nature nowatch oracle os x panoramique photo photographie php pl/sql plugin podcast procedure qnap server serveur ssh video wallpaper wordpress xml youtube
  • Home
  • Toutes les catégories
  • Wiki Technique
  • Conditionnement de Procedures, Fonctions, Packages, Triggers, etc. selon un environnement en PL/SQL (Oracle)
  • Wiki Technique

    • Belkin Wemo Switch : allumer, éteindre et statut de tous vos switchs !20 mars 2016
    • Réparer VM Oracle VirtualBox Avorté11 décembre 2014
    • QNAP inclut le chiffrement intégral du NAS basé sur la technologie de chiffrement de volume2 octobre 2014
    • Augmenter un File System sous Linux6 juin 2014
    • Augmenter la taille d’un disque dur d’une VM sous VirtualBox (VDI)4 mars 2014
  • Blog

    • L’Écosse en une semaine6 mars 2020
    • NAS Thecus N25607 octobre 2014
    • QNAP inclut le chiffrement intégral du NAS basé sur la technologie de chiffrement de volume2 octobre 2014
    • HPC, la course à la puissance.4 juin 2014
    • YunoHost : Adieu Gmail, Drive, Dropbox, etc.19 mars 2014
  • Médias

    • Revue du web du 25/05/201325 mai 2013
    • Revue du web du 16/05/201316 mai 2013
    • Revue du web du 30/03/201330 mars 2013
    • Revue du web du 04/03/20134 mars 2013
    • freshnews #357 Samsung Galaxy Note III / Appels telephoniques sur Facebook Messenger / iPad detrone17 janvier 2013
  • A propos
  • Mentions legales
  • FAQ

Aurélien PIAT 2011~2020 - aurelienpi.at - Certains droits réservés : Creative Commons (France)