Création et gestion de vues
Une vue présente un résultat d'interrogation sous la forme d'une table. Dans la plupart des endroits où vous pouvez utiliser une table, vous pouvez utiliser une vue. Les vues sont utiles lorsque vous avez besoin d'un accès fréquent aux informations stockées dans plusieurs tables différentes.
Voir aussi :
-
"Sélection des données de table" pour plus d'informations sur les interrogations
-
Concepts d'Oracle Database pour des informations générales supplémentaires sur les vues
Création de vues
Pour créer des vues, utilisez l'outil CREATE VIEW de SQL Developer ou l'instruction LDD CREATE VIEW.
Cette rubrique explique comment utiliser les deux méthodes suivantes pour créer ces vues :
-
SALESFORCE, qui contient les noms et les salaires des employés du service des ventes
-
EMP_LOCATIONS, qui contient les noms et les emplacements de tous les employés
Cette vue est utilisée dans "Création d'une INSTEAD OF Trigger".
Voir aussi :
-
Oracle SQL Developer User's Guide pour plus d'informations sur l'utilisation de SQL Developer pour créer une vue
-
Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur l'énoncé CREATE VIEW
Tutoriel : Créer une vue à l'aide de l'outil Create View
Ce tutoriel explique comment créer la vue SALESFORCE à l'aide de l'outil Create View.
Étapes de création de la vue SALESFORCE à l'aide de l'outil Create View :
-
Dans le cadre Connexions, développez hr_conn.
-
Dans la liste des types d'objet de schéma, cliquez avec le bouton droit de la souris sur Views (Vues).
-
Dans la liste des choix, cliquez sur Nouvelle vue.
La fenêtre Create View s'ouvre, avec les valeurs par défaut d'une nouvelle vue.
-
Pour Schema, acceptez la valeur par défaut HR.
-
Pour Nom, entrez
SALESFORCE. -
Si le volet Interrogation SQL ne s'affiche pas, cliquez sur l'onglet Interrogation SQL.
-
Dans le volet SQL Query, dans le champ SQL Query :
-
Après
SELECT, entrez :FIRST_NAME || ' ' || LAST_NAME "Name", SALARY*12 "Annual Salary" -
Après
FROM, entrez :EMPLOYEES WHERE DEPARTMENT_ID = 80
-
-
Cliquez sur Vérifier la syntaxe.
-
Sous Résultats de syntaxe, si le message n'est pas
No errors found in SQL, retournez à l'étape 7 et corrigez les erreurs de syntaxe dans l'interrogation. -
Cliquez sur OK.
La vue SALESFORCE est créée. Pour le voir, développez Vues dans le cadre Connexions.
Pour voir l'énoncé CREATE VIEW permettant de créer cette vue, sélectionnez son nom et cliquez sur l'onglet SQL.
Voir aussi : Oracle SQL Developer User's Guide pour plus d'informations sur l'utilisation de SQL Developer pour créer des vues
Créer des vues à l'aide de l'instruction CREATE VIEW
Cet exemple montre comment utiliser l'instruction CREATE VIEW pour créer la vue EMP_LOCATIONS, qui joint quatre tables.
L'énoncé CREATE VIEW dans l'exemple 4-3 crée la vue EMP_LOCATIONS, qui joint quatre tables. (Pour plus d'informations sur les jointures, voir "Sélection de données à partir de plusieurs tables".)
Exemple 4-3 : Créer la vue EMP_LOCATIONS avec CREATE VIEW
CREATE VIEW EMP_LOCATIONS AS
SELECT e.EMPLOYEE_ID,
e.LAST_NAME || ', ' || e.FIRST_NAME NAME,
d.DEPARTMENT_NAME DEPARTMENT,
l.CITY CITY,
c.COUNTRY_NAME COUNTRY
FROM EMPLOYEES e, DEPARTMENTS d, LOCATIONS l, COUNTRIES c
WHERE e.DEPARTMENT_ID = d.DEPARTMENT_ID AND
d.LOCATION_ID = l.LOCATION_ID AND
l.COUNTRY_ID = c.COUNTRY_ID
ORDER BY LAST_NAME;
Résultat :
View EMP_LOCATIONS created.
Voir aussi : Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur l'énoncé CREATE VIEW
Modification des interrogations dans les vues
Pour modifier l'interrogation d'une vue, utilisez l'instruction LDD CREATE VIEW avec la clause OR REPLACE.
L'énoncé CREATE OR REPLACE VIEW dans l'exemple 4-4 modifie l'interrogation dans la vue SALESFORCE.
Exemple 4-4 : Modification de l'interrogation dans la vue SALESFORCE
CREATE OR REPLACE VIEW SALESFORCE AS
SELECT FIRST_NAME || ' ' || LAST_NAME "Name",
SALARY*12 "Annual Salary"
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 80 OR DEPARTMENT_ID = 20;
Résultat :
View SALESFORCE created.
Voir aussi : Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur la clause CREATE VIEW avec la clause OR REPLACE
Tutoriel : Modifier les noms de vue à l'aide de l'outil de changement de nom
Ce tutoriel explique comment utiliser l'outil Rename pour modifier le nom de la vue SALESFORCE.
Pour modifier le nom d'une vue, utilisez l'outil SQL Developer RENAME ou l'instruction RENAME. L'instruction LDD équivalente est la suivante :
RENAME SALESFORCE to SALES_MARKETING;
Étapes de modification de la vue SALESFORCE à l'aide de l'outil Renommer :
-
Dans le cadre Connexions, développez hr_conn.
-
Dans la liste des types d'objet de schéma, développez Vues.
-
Dans la liste des vues, cliquez avec le bouton droit de la souris sur SALESFORCE.
-
Dans la liste des choix, sélectionnez Renommer.
-
Dans la fenêtre Rename, dans le champ New View Name, entrez
SALES_MARKETING. -
Cliquez sur Appliquer.
-
Dans la fenêtre de confirmation, cliquez sur OK.
Voir aussi : Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur l'énoncé RENAME
Supprimer une vue
Pour supprimer une vue, utilisez le cadre SQL Developer Connections et l'outil DROP ou l'instruction LDD DROP VIEW.
Le tutoriel suivant explique comment utiliser le cadre Connections et l'outil Drop pour supprimer la vue SALES_MARKETING (modifié dans "Tutoriel : Modification des noms de vue à l'aide de l'outil de changement de nom"). L'instruction LDD équivalente est la suivante :
DROP VIEW SALES_MARKETING;
Etapes pour supprimer la vue SALES_MARKETING à l'aide de l'outil Drop :
-
Dans le cadre Connexions, développez hr_conn.
-
Dans la liste des types d'objet de schéma, développez Vues.
-
Dans la liste des vues, cliquez avec le bouton droit de la souris sur SALES_MARKETING.
-
Dans la liste de choix, cliquez sur Supprimer.
-
Dans la fenêtre Déposer, cliquez sur Appliquer.
-
Dans la fenêtre de confirmation, cliquez sur OK.
Voir aussi : Informations de référence sur le langage SQL pour Oracle Database pour plus d'informations sur l'énoncé DROP VIEW