nothwind, model, pub ne sont pas des tables, mais des Bases de Données (qui contiennent des tables)
Pour avoir la liste des bases de données :
SELECT name FROM master.dbo.sysdatabases
Pour avoir la liste des tables utilisateurs d'une base MaBdd
SELECT name FROM MaBdd.dbo.sysobjects WHERE (xtype = 'u')
-- Cordialement
Oxiane ---------------------------------------------------------- Omnia vanitas
"Rahan" a écrit dans le message de news:3a9301c4a09f$771f9820$
Salut
sous sql server 2000 j aimerais
faire une requete afin d obtenir une liste des tables
ex: select ......
resulltat:
nothwind model pubs ...
est ce possible ou bien ?
Fred BROUARD
oulala !
ne JAMAIS utiliser les tables systèmes directement. Utiliser les vues d'information de schéma (norme SQL) qui fournissent non seulement des explications plus lisibles, mais des vues immuables.
En effet, les tables systèmes étant réservées à l'usage interne de SQL Server, ces dernières peuvent êtres modifiées sans préavis d'une version à l'autre, et une application bâtie sur des telles tables, peut s'avérer ne plus fonctionner au passage de la nouvelle version.
Donc : SELECT ... FROM INFORMATION_SCHEMA.SCHEMATA => liste des bases
SELECT ... FROM INFORMATION_SCHEMA.TABLES => liste des tables dans la base
SELECT ... FROM INFORMATION_SCHEMA.COLUMNS => liste des colonnes des tables dans la base
etc
A lire : http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA9
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Oxiane a écrit:
ouhla !
nothwind, model, pub ne sont pas des tables, mais des Bases de Données (qui contiennent des tables)
Pour avoir la liste des bases de données :
SELECT name FROM master.dbo.sysdatabases
Pour avoir la liste des tables utilisateurs d'une base MaBdd
SELECT name FROM MaBdd.dbo.sysobjects WHERE (xtype = 'u')
oulala !
ne JAMAIS utiliser les tables systèmes directement.
Utiliser les vues d'information de schéma (norme SQL) qui fournissent non
seulement des explications plus lisibles, mais des vues immuables.
En effet, les tables systèmes étant réservées à l'usage interne de SQL Server,
ces dernières peuvent êtres modifiées sans préavis d'une version à l'autre, et
une application bâtie sur des telles tables, peut s'avérer ne plus fonctionner
au passage de la nouvelle version.
Donc :
SELECT ...
FROM INFORMATION_SCHEMA.SCHEMATA => liste des bases
SELECT ...
FROM INFORMATION_SCHEMA.TABLES => liste des tables dans la base
SELECT ...
FROM INFORMATION_SCHEMA.COLUMNS => liste des colonnes des tables dans la base
etc
A lire :
http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA9
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Oxiane a écrit:
ouhla !
nothwind, model, pub ne sont pas des tables, mais des Bases de Données (qui
contiennent des tables)
Pour avoir la liste des bases de données :
SELECT name
FROM master.dbo.sysdatabases
Pour avoir la liste des tables utilisateurs d'une base MaBdd
SELECT name
FROM MaBdd.dbo.sysobjects
WHERE (xtype = 'u')
ne JAMAIS utiliser les tables systèmes directement. Utiliser les vues d'information de schéma (norme SQL) qui fournissent non seulement des explications plus lisibles, mais des vues immuables.
En effet, les tables systèmes étant réservées à l'usage interne de SQL Server, ces dernières peuvent êtres modifiées sans préavis d'une version à l'autre, et une application bâtie sur des telles tables, peut s'avérer ne plus fonctionner au passage de la nouvelle version.
Donc : SELECT ... FROM INFORMATION_SCHEMA.SCHEMATA => liste des bases
SELECT ... FROM INFORMATION_SCHEMA.TABLES => liste des tables dans la base
SELECT ... FROM INFORMATION_SCHEMA.COLUMNS => liste des colonnes des tables dans la base
etc
A lire : http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA9
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Oxiane a écrit:
ouhla !
nothwind, model, pub ne sont pas des tables, mais des Bases de Données (qui contiennent des tables)
Pour avoir la liste des bases de données :
SELECT name FROM master.dbo.sysdatabases
Pour avoir la liste des tables utilisateurs d'une base MaBdd
SELECT name FROM MaBdd.dbo.sysobjects WHERE (xtype = 'u')