Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
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 20/11/2010, 09h37   #1
Membre Expert
 
Inscription : octobre 2007
Messages : 3 936
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3 936
Points : 1 904
Points : 1 904
Par défaut SELECT VIEWS FROM INFORMATION_SCHEMA

Bonjour

Est-il possible de selecter distinctementb toutes les colonnenes relatives aux Tables et aux Views dans INFORMATION_SCHEMA

Si je fais

Code :
SELECT * FROM INFORMATION_SCHEMA.Colums
Je recupere TOUTES les colonnes destabkleset des vues (5800 rows)
si je fais

Code :
1
2
3
SELECT *
FROM vinopressbe.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME NOT IN (SELECT TABLE_NAME FROM vinopressbe.INFORMATION_SCHEMA.VIEWS)
Je suppose que je ne recupere que les colonnes relatives aux tables (1900 rows)

Mais si je fais

Code :
1
2
3
SELECT *
FROM vinopressbe.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME NOT IN (SELECT TABLE_NAME FROM vinopressbe.INFORMATION_SCHEMA.TABLES)
Je n'ai rien !

Ou est mon erreur ?
Il y a-t-il une meilleure maniere de faire

Merci de votre aide
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)
olibara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2010, 11h41   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 931
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 931
Points : 17 734
Points : 17 734
Code :
1
2
3
4
5
6
SELECT C.*
FROM   INFORMATION_SCHEMA.COLUMNS AS C
       INNER JOIN INFORMATION_SCHEMA.TABLES AS T
             ON     C.TABLE_SCHEMA = T.TABLE_SCHEMA 
                AND C.TABLE_NAME   = T.TABLE_NAME
WHERE  TABLE_TYPE = 'BASE TABLE'
Vous donne que les colonnes des tables et pour les vues changez le critère de filtrage par VIEW.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2010, 15h25   #3
Membre Expert
 
Inscription : octobre 2007
Messages : 3 936
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3 936
Points : 1 904
Points : 1 904
Merci SQL_Pro

Entretemps j'ai aussi compris la betise de mes précédent select


Code :
1
2
3
4
SELECT TABLE_NAME FROM vinopressbe.INFORMATION_SCHEMA.VIEWS
-- Ca donne uniquement les vues
SELECT TABLE_NAME FROM vinopressbe.INFORMATION_SCHEMA.TABLES
-- Ca donne les Tables MAIS AUSSI les vues
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)
olibara 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 19h24.


 
 
 
 
Partenaires

Hébergement Web