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/02/2008, 15h00   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2006
Messages : 21
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 21
Points : 14
Points : 14
Par défaut Liste des colonnes d'une vue

J'ai cherché sur le net, sur la faq, sur le forum, mais je trouve que la façon pour lister les champs d'une table

mais, moi, j'ai besoin de lister la liste des colonnes d'une vue sous oracle!!

Merci de me donner la requete Sql à utiliser
chaouki_2000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2008, 15h18   #2
Membre Expert
 
Avatar de scheu
 
Inscription : juin 2007
Messages : 1 497
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 497
Points : 1 485
Points : 1 485
Les vues sont aussi dans la vue dba_tab_columns, il suffit donc de faire
Code :
SELECT * FROM dba_tab_columns WHERE OWNER = 'TON_SCHEMA' AND table_name = 'TA_VUE'
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne.
La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/
scheu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2008, 15h23   #3
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
tu ne peux pas, inspire toi de ce sujet : http://www.developpez.net/forums/sho...CRIBE_COLUMNS2
avec la requête récupérée dans dba_views.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2008, 15h23   #4
Candidat au titre de Membre du Club
 
Inscription : janvier 2006
Messages : 21
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 21
Points : 14
Points : 14
Merci

Sinon, on peut également utiliser celle là :

Code :
SELECT * FROM ALL_COL_COMMENTS WHERE TABLE_NAME = 'NOM_VUE'
chaouki_2000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2008, 15h28   #5
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Regarde :
Code :
1
2
3
4
5
6
7
8
 
SQL>CREATE TABLE mytab (id integer, name varchar2(10));
 
TABLE created.
 
SQL>CREATE VIEW myview AS SELECT * FROM mytab;
 
VIEW created.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
SET SERVEROUTPUT ON
declare
  stmt VARCHAR2(32000);
  c number;
  d number;
  col_cnt integer;
  f BOOLEAN;
  rec_tab dbms_sql.desc_tab2;
  rec_desc dbms_sql.desc_rec2;
  col_num number;
begin
  c := dbms_sql.open_cursor;
  SELECT TEXT  
  INTO stmt 
  FROM dba_views
  WHERE VIEW_NAME='MYVIEW';
  dbms_sql.parse(c,stmt, DBMS_SQL.NATIVE);
 
  d := dbms_sql.execute(c);
 
  dbms_sql.describe_columns2(c, col_cnt, rec_tab);
 
/*
 * Following loop could simply be for j in 1..col_cnt loop.
 * Here we are simply illustrating some of the PL/SQL table
 * features.
 */
  col_num := rec_tab.first;
  IF (col_num IS NOT NULL) then
    loop
    dbms_output.put_line('col_name            =    '
                         || rec_tab(col_num).col_name);
      col_num := rec_tab.next(col_num);
      exit when (col_num IS NULL);
    end loop;
  end IF;
 
  dbms_sql.close_cursor(c);
end;
/
Citation:
col_name = ID
col_name = NAME

PL/SQL procedure successfully completed.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2008, 15h28   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par chaouki_2000 Voir le message
Merci

Sinon, on peut également utiliser celle là :

Code :
SELECT * FROM ALL_COL_COMMENTS WHERE TABLE_NAME = 'NOM_VUE'
c'est beaucoup plus simple en effet
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h11.


 
 
 
 
Partenaires

Hébergement Web