Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
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 06/04/2011, 08h52   #1
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
Par défaut Nom de table

Bonjour,

sous ORACLE pour trouver le nom exact d'une table je fais :

Code :
1
2
3
SELECT table_name 
FROM dictionary 
WHERE table_name LIKE '%unaprtiedenomdetable%';


Quel en est équivalent sous SQL SERVER ?



D'avance merci.
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 09h22   #2
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Vous n'avez pas du beaucoup chercher! ce Forum a des règles en autres de consulter la FAQ...
http://www.developpez.net/forums/d96...vement-poster/

Sous SQL SERVER vous avez accès aux tables systèmes.

Code :
1
2
SELECT * 
FROM sys.TABLES
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 09h57   #3
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
merci,
et puisque vous êtes gentil :
Code :
1
2
3
4
 
DESC 'sys.TABLES'
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'desc'.
et pour select * from sys.TABLES :
-il faut être sur la base master ou sur la base cible ?
-ma base de données a 60000 table donc select * from sys.TABLES n'est vraiment pas pratique.
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 10h31   #4
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573


heu... votre touche "0" est restée enfoncée par mégarde, ou avez-vous bien voulu écrire "soixante mille tables" ?

Pour votre question initiale, il faut effectivement être sur la base cible (et non la master), et faire :

Code SQL :
1
2
3
4
 
SELECT  name
FROM sys.TABLES
WHERE name LIKE '%unPartieDuNom%'
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 10h32   #5
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
DESC 'sys.TABLES'
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'desc'.
.

Croyez vous franchement que je peux exploiter une erreur sur une requête dont je n'ai que le dernier 'mot : DESC????
Citation:
il faut être sur la base master ou sur la base cible ?
Il faut executer la requête sur la base cible en effet.

Citation:
ma base de données a 60000 table donc select * from sys.TABLES n'est vraiment pas pratiqu
Et bien filtrez comme vous le faites sous oracle!!!

Code :
1
2
3
4
SELECT name
FROM sys.TABLES
WHERE name LIKE('re%')
ORDER BY NAME
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 10h40   #6
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
merci à tous , mais :
Code :
1
2
3
4
5
6
7
8
 
SELECT name
FROM sys.TABLES
WHERE name LIKE('Table%')
ORDER BY NAME
 
Msg 208, Level 16, State 1, Line 1
Invalid object name 'sys.TABLES'.
Cordialement.
big1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 10h42   #7
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 723
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 723
Points : 6 844
Points : 6 844
Bonjour Big1,

Code :
1
2
3
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE '%la table%'
A utiliser dans le contexte de la base de données concernée (norme ANSI SQL92)

Curieux qu'oracle n'implémente pas ce genre de normes.

++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 10h49   #8
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
Citation:
Envoyé par big1 Voir le message
Msg 208, Level 16, State 1, Line 1
Invalid object name 'sys.TABLES'.
Essayez sys.tables (en minuscules, le site DVP formate TABLES en majuscules...)

sinon utilisez les vues du schéma INFORMATION_SCHEMA
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 10h59   #9
Membre régulier
 
Inscription : novembre 2004
Messages : 657
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 657
Points : 81
Points : 81
Oui, merci mikedavem. Ceci marche :
Code :
1
2
3
4
 
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE '%la table%'
big1 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 02h03.


 
 
 
 
Partenaires

Hébergement Web