begin process at 2008 08 08 22:52:54
1 223 628 membres
386 nouveaux aujourd'hui
14 230 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

QUELQUES REQUETES UTILES POUR INTERROGER LES TABLES SYSTEMES (MSSQL)


Information sur la source

Catégorie :Trucs & Astuces Classé sous : requête, table, system, sqlserver, master Niveau : Initié Date de création : 24/05/2005 Vu : 7 658

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

Description

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

  • --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 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'
  • signaler à un administrateur
    Commentaire de coq le 28/05/2005 14:36:47 administrateur CS

    Salut,

    Tu as remarquer les doublons pour les colonnes nvarchar/sysname avec ta requête :
    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'

    exemple : pour une colonne "Non" en nvarchar ça donne :
    Table | Nom | nvarchar
    Table | Nom | sysname

  • signaler à un administrateur
    Commentaire de nhervagault le 28/05/2005 14:56:07

    Je suis d'accord, je ne l'ai pas remarqué.

    Si tu replaces xtype par xusertype le résultat est correct.
    Il y a que ce type la qui pause probleme, dans les autres cas xtype = xusertype.

    Et pour compléter la source

    La table  système dbo.syscolumns

    renvoie aussi les paramétres des procédures stockées et fonctions.

    Merci de la remarque.

Ajouter un commentaire

Pub



Appels d'offres

Snippets en rapport

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS