2010-06-17 5 views
1

utilisées est C# sql vs 08 sql server 2005 expresscomment interroger la base de données sans accéder aux tables, corriger la base de données, mais pas les tables

quand et où jamais une instruction SQL select est utilisé, sa toujours comme

select * from tablename 

ou déclaration comte est alsi comme

select count something from table name 

pour sélectionner ou faire quoi que ce soit sur les tables,

je voudrais savoir quelles tables se termine dans ma base de données je suis connecté!

donc comme

select alltablenames from database_name. 

s'il vous plaît guider.

+0

Google connaît ce genre de choses ... http://www.google.com/search?hl=en&q=SQL+query+table+ noms – Reddog

Répondre

3

Personnellement, j'utiliserais les vues Information_Schema.Tables & Information_Schema.Columns car ce sont des vues fournies par Microsoft. (Plutôt que d'utiliser les tables sysobjects)

+1

La raison de les utiliser IMO est plus que ce sont des vues qui font partie de la norme ANSI, ne devrait pas changer entre les versions sur un coup de tête, et devrait fonctionner de la même manière dans d'autres DB conformes ANSI - en d'autres termes, Ne sont pas spécifiques à Microsoft. sysobjects est une solution spécifique à Microsoft. –

1

à la liste toutes les tables de base de données

USE YourDBName 
GO 
SELECT * 
FROM sys.Tables WHERE type='u' 

pour vérifier la table existe dans la base de données ou non

IF EXISTS (SELECT 1 
    FROM sysobjects 
    WHERE xtype='u' AND name='tablename') 
     SELECT 'tablename exists.' 
ELSE 
     SELECT 'tablename does not exist.' 
0

La requête suivante retourne les noms des tables dans une base de données SQL Server:

select name from sysobjects where xtype = 'U' 
Questions connexes