Il est possible qu'on paramètre la création d'une table dans un bloc PL/SQL en utilisant la commande SQL Dynamique EXECUTE IMMEDIATE.
CREATE OR REPLACE PROCEDURE TESTSTRING (String IN Varchar2) AS
Begin
EXECUTE IMMEDIATE String;
end;
On va compiler la procédure et l'exécuter comme suit:
EXEC TESTSTRING(' CREATE TABLE TEST(ID NUMBER, NOM VARCHAR2(30))');
On peut utiliser de la même façon pour supprimer une ou plusieurs lignes. Voici le code:
create or replace procedure EFFACER_ENREG
(Table_Nom in VARCHAR2,
Condition IN VARCHAR2 default NULL)
AS
Clause_Where VARCHAR2(100) := ' WHERE ' || Condition;
Begin
-- Si aucune condition donnée au paramètre, il renvoie la valeur NULL
-- Et il va supprimer tous les enregistrements de la table
IF Condition is NULL then Clause_Where := NULL;
END IF;
EXECUTE IMMEDIATE ' DELETE FROM ' || Table_Nom || Clause_Where;
end;
Pour l'exécuter sans paramètre de condition:
EXEC EFFACER_ENREG('TEST');
Avec un paramètre (une fois que la table soit remplie avec des INSERT INTO):
EXEC EFFACER_ENREG('TEST','ID=1');
Abed
Un blogue pour contribuer à la communauté francophone d'Oracle sur les thèmes suivants:Oracle Developper (SQL-PL/SQL, Oracle Forms 10g/11g, APEX 4, Administration Oracle ,OBIEE 10&11g (BI Publisher), Oracle E-Business Suite R12, BI Publisher 12c, Oracle 12c.
samedi 17 juillet 2010
mardi 13 juillet 2010
Certifications ORACLE (OCP).
OCP(Oracle Certified Professional) est une liste des certifications d'ORACLE classées par des catégories, à savoir:
Voici la liste de quelques examens proposés par Oracle:
1Z0-001, 1Z0-047, 1Z0-147, etc....
Pour plus de détails concernant toutes les certifications, démo, etc,.... visitez cette adresse:
http://www.ucertify.com/vendors/Oracle.html
Abed
- Oracle Database Administrator (DBA)
- Oracle Application Developer (Forms, SQL, PL/SQL).
- Oracle Database Operator
- Oracle Java Developer
- Oracle Financial Applications Consultant
Voici la liste de quelques examens proposés par Oracle:
1Z0-001, 1Z0-047, 1Z0-147, etc....
Pour plus de détails concernant toutes les certifications, démo, etc,.... visitez cette adresse:
http://www.ucertify.com/vendors/Oracle.html
Abed
lundi 12 juillet 2010
Dates en ORACLE.
J'ai constaté que la plupart des schémas d'Oracle ont été crées avec un format date AMERCIAN. Parfois, on trouve des difficultés pour faire des INSERT dans une table avec le format suivant (12-FEB-03). Pour remédier à ce problème, voici les étapes:
- Vérifier les paramètres de la session (NLS) avec la syntaxe: SELECT * FROM NLS_SESSION_PARAMETERS;
- Faites la syntaxe suivante:
- ALTER SESSION SET NLS_LANGUAGE = AMERICAN;
- Exécuter cette commande:
SELECT VALUE From NLS_SESSION_PARAMETERS
WHERE PARAMETER='NLS_DATE_FORMAT';
WHERE PARAMETER='NLS_DATE_FORMAT';
- Si le format de la date est incorrect, on peut le changer avec la syntaxe ALTER SESSION SET NLS_DATE_FORMAT='DD-MM-YYYY';
- À ce moment là, on pourrait faire des INSERT dans une table sans problème.
Processus d'écoute d'ORACLE.
Parfois, il se pourrait qu'on va y avoir une erreur de processus d'écoute (le système ne pourra pas se connecter comme la montre cette figure):
Pour résoudre ce problème, il suffit de redémarrer le service de Listener. Voici les étapes:
Pour résoudre ce problème, il suffit de redémarrer le service de Listener. Voici les étapes:
- Aller dans panneau de configuration - outils d'administration - services
- Chercher OracleOradb10g_Home1TNSListener
- Cliquer à gauche sur redémarrer le service
- Fermer la fenêtre Outils d'administration
- Relancer PL/SQL Developer, TOAD ou SQL Plus
- Connecter avec le compte et ça devrait marcher.
vendredi 9 juillet 2010
Raccourcis pour Forms et Reports Builder.
Il est possible qu'on peut mettre un raccourci sur le bureau de windows pour le lancement rapide d'Oracle Forms Builder 10g, dont voici les démarches.
C:\DevSuiteHome_1\BIN\Frmbld.exe
SET REPORTS_PATH=C:\DevSuiteHome_1\cgenf61\admin,C:\DevSuiteHome_1\Forms
C:\DevSuiteHome_1\BIN\rwbuilder.exe
Abed
- Créer un fichier texte et nommer le Forms.bat
- Saisir les paramètres suivants:
C:\DevSuiteHome_1\BIN\Frmbld.exe
- Sauvegarder le fichier.
- Lancer Forms en cliquant deux fois sur l'icône.
SET REPORTS_PATH=C:\DevSuiteHome_1\cgenf61\admin,C:\DevSuiteHome_1\Forms
C:\DevSuiteHome_1\BIN\rwbuilder.exe
Abed
jeudi 8 juillet 2010
Personnaliser les alertes avec Oracle Forms 10g.
Lorsqu'on va utiliser un bout de code plusieurs fois au niveau d'un module (cas des alertes par exemple), il est beaucoup plus utile de créer une unité de programme. Dans notre cas des alertes, on va créer une fonction et puis de faire appel à l'unité de programme.
Cliquer sur Ajout ou (+) en haut du module. Sélectionner Fonction et donner un nom (exemple Afficher_alerte)
Une fenêtre PL/SQL s'affiche à l'écran et on va saisir ce code (cliquez sur l'image pour voir le contenu):
Maintenant la fonction AFFICHER_ALERTE est crée. Donc, on va l'appeler à partir d'un trigger (When-Button-Pressed) en créant un bouton sur un canevas. Il nous reste qu'a saisir le code pour appeler la fonction qui affiche le message de type alerte (sans oublier bien sûr de créer un objet ALERT, sinon le programme ne le trouve pas).
Après la compilation du module, voici les résultats (cas d'un objet ALERT existant)
Cas d'un objet ALERT inexistant au niveau du module.
Testé sous Windows 7, Oracle 10gR2. Le code source (FMB) serait téléchargeable incessamment sur mon site web.
Abed
- Création de l'unité de programme
Cliquer sur Ajout ou (+) en haut du module. Sélectionner Fonction et donner un nom (exemple Afficher_alerte)
Une fenêtre PL/SQL s'affiche à l'écran et on va saisir ce code (cliquez sur l'image pour voir le contenu):
Maintenant la fonction AFFICHER_ALERTE est crée. Donc, on va l'appeler à partir d'un trigger (When-Button-Pressed) en créant un bouton sur un canevas. Il nous reste qu'a saisir le code pour appeler la fonction qui affiche le message de type alerte (sans oublier bien sûr de créer un objet ALERT, sinon le programme ne le trouve pas).
Après la compilation du module, voici les résultats (cas d'un objet ALERT existant)
Cas d'un objet ALERT inexistant au niveau du module.
Testé sous Windows 7, Oracle 10gR2. Le code source (FMB) serait téléchargeable incessamment sur mon site web.
Abed
Inscription à :
Articles (Atom)