Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/12/2007, 16h20   #1
Invité de passage
 
Inscription : février 2007
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 30
Points : 3
Points : 3
Par défaut Vues et Séquences

Bonjour a tous, on me demande de créer une vue qui contient tous les employés dans le département 20, en empêchant toute modif de celle-ci.

Alors bon je me suis exécuté et voila ce que j'ai fait :

CREATE VIEW Emp_vu_20 AS
SELECT last_name, department_id
FROM employees
WHERE department_id = 20;


Sachant que ma table ressemble a ca :



Quant au fait d'empêcher toute modification est-ce qu'un commit peut suffire?

Dans un second temps on me demande de créer une séquence me permettant de générer les numéros des ID des employés pour la table Emp.

Alors tout d'abord je crée ma séquence du genre :

CREATE SEQUENCE gener_id
START WITH 100
INCREMENT BY 10
MAXVALUE 1000;


Puis

INSERT INTO Emp(ID)
VALUES (gener_id, nextval);


Ma machine virtuelle Oracle est en rade...Je n'ai donc pas pu tester et comme je suis novice en SQL je préfère avoir votre avis.

Merci d'avance.
Spitfire378 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2007, 18h12   #2
Membre à l'essai
 
Inscription : août 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 20
Points : 20
Points : 20
Salut,

Pour l'insertion des ID dans ta table je pense plutôt qu'il faut utiliser la variable
gener_id.nextval

Sinon pour la création de ta vue il est intéressant de nommer les colonnes de ta vue :

Code :
1
2
3
4
5
6
 
CREATE VIEW Emp_vu_20( nom_col1, nom_col2)
AS
SELECT last_name, department_id
FROM employees
WHERE department_id = 20;
Phil_67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2007, 19h12   #3
Membre éprouvé
 
Inscription : décembre 2007
Messages : 354
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 354
Points : 408
Points : 408
En ce qui concerne une vue qui ne permet pas des modifs
Code :
1
2
3
4
5
6
CREATE VIEW Emp_vu_20 AS
SELECT last_name, department_id
FROM employees
WHERE department_id = 20
WITH READ ONLY;
Michel SALAIS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h47.


 
 
 
 
Partenaires

Hébergement Web