Quelques requetes utiles pour interroger les tables systemes (mssql)

Contenu du snippet

Ce code présente des requetes permettant de lire les tables Syteme SQL SERVEUR.
Pour plus de renseignements sur les colonnes renvoyer (ne pas hésiter à consulter l'aide de MS SQL SERVER)

Source / Exemple :


--Liste des bases de données de SQL SERVER
SELECT * from MASTER.dbo.sysdatabases 

--Liste des tables utilisateur de SQL SERVEUR
SELECT * from dbo.sysobjects
WHERE xtype= 'U'

--Différentes listes possibles (xtype)
--C = Contrainte CHECK
--D = Valeur par défaut ou contrainte DEFAULT
--F = Contrainte FOREIGN KEY
--L = Journal
--FN = Fonction scalaire
--IF = Fonction table en ligne
--P = Procédure stockée
--PK = Contrainte PRIMARY KEY (de type K)
--RF = Procédure stockée de réplication
--S = Table système
--TF = Fonction table
--TR = Déclencheur
--U = Table utilisateur
--UQ = Contrainte UNIQUE (de type K)
--V = Vue
--X = Procédure stockée étendue

--Liste des colonnes d'une table

SELECT * from dbo.syscolumns
--XType est le type de colonne
--extrait de la dbo.table systype

--Liste des tables utilsteaurs avec leurs colonnes et leurs types
SELECT TABLES.name,COLONNES.name, TYPES.name FROM dbo.syscolumns as COLONNES
INNER JOIN dbo.sysobjects as TABLES 
ON TABLES.ID = COLONNES.ID
INNER JOIN dbo.systypes AS TYPES
ON TYPES.xtype = COLONNES.xtype
WHERE TABLES.xtype = 'U'

--Liste des colonnes défaut d'une base de données

SELECT cols.name as colonne_name, c_obj.name as default_name,t_obj.name as table_name FROM sysobjects t_obj, sysobjects c_obj, syscolumns cols
WHERE cols.id = t_obj.id AND c_obj.id = cols.cdefault AND c_obj.xtype = 'D'

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.