J'aimerais récupérer les index d'une table, par exemple la table Adresse,
dans une requête, est-ce possible et comment ? On me dit d'aller chercher
dans la table sysindexes, mais je ne vois pas comment !
Merci d'avance,
Merci beaucoup, c'est toujours ça de gagné pour moi :)
Via :)
"Yan" a écrit dans le message de news:07ce01c3ce25$8b0e7c40$ Bonjour,
select * from sysindexes where id=object_id('Adresse')
voilà, mais parfois y a des trucs système, alors faut peut- être faire le tri.
-----Message d'origine----- Bonjour à tous !
J'aimerais récupérer les index d'une table, par exemple
la table Adresse,
dans une requête, est-ce possible et comment ? On me dit
d'aller chercher
dans la table sysindexes, mais je ne vois pas comment ! Merci d'avance,
Via :)
.
Laurent Moreau
Regarde le code de la procedure systeme: "sp_helpindex" (sur master)
Laurent.
"Via" wrote in message news:
Merci beaucoup, c'est toujours ça de gagné pour moi :)
Via :)
"Yan" a écrit dans le message de news:07ce01c3ce25$8b0e7c40$ Bonjour,
select * from sysindexes where id=object_id('Adresse')
voilà, mais parfois y a des trucs système, alors faut peut- être faire le tri.
>-----Message d'origine----- > Bonjour à tous ! > > J'aimerais récupérer les index d'une table, par exemple la table Adresse, >dans une requête, est-ce possible et comment ? On me dit d'aller chercher >dans la table sysindexes, mais je ne vois pas comment ! > Merci d'avance, > > Via :) > > >. >
Regarde le code de la procedure systeme: "sp_helpindex" (sur master)
Laurent.
"Via" <chew.baka@caramail.com> wrote in message
news:uZH0pgizDHA.1688@TK2MSFTNGP10.phx.gbl...
Merci beaucoup, c'est toujours ça de gagné pour moi :)
Via :)
"Yan" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:07ce01c3ce25$8b0e7c40$a501280a@phx.gbl...
Bonjour,
select * from sysindexes where id=object_id('Adresse')
voilà, mais parfois y a des trucs système, alors faut peut-
être faire le tri.
>-----Message d'origine-----
> Bonjour à tous !
>
> J'aimerais récupérer les index d'une table, par exemple
la table Adresse,
>dans une requête, est-ce possible et comment ? On me dit
d'aller chercher
>dans la table sysindexes, mais je ne vois pas comment !
> Merci d'avance,
>
> Via :)
>
>
>.
>
Regarde le code de la procedure systeme: "sp_helpindex" (sur master)
Laurent.
"Via" wrote in message news:
Merci beaucoup, c'est toujours ça de gagné pour moi :)
Via :)
"Yan" a écrit dans le message de news:07ce01c3ce25$8b0e7c40$ Bonjour,
select * from sysindexes where id=object_id('Adresse')
voilà, mais parfois y a des trucs système, alors faut peut- être faire le tri.
>-----Message d'origine----- > Bonjour à tous ! > > J'aimerais récupérer les index d'une table, par exemple la table Adresse, >dans une requête, est-ce possible et comment ? On me dit d'aller chercher >dans la table sysindexes, mais je ne vois pas comment ! > Merci d'avance, > > Via :) > > >. >
Via
Bonjour,
tu parles sans doute plutôt de la procédure sp_indexes dont voici le code :
create procedure sp_indexes( @table_server sysname, @table_name sysname = null, @table_schema sysname = null, @table_catalog sysname = null, @index_name sysname = null, @is_unique bit = null) as select TABLE_CAT = TABLE_CATALOG, TABLE_SCHEM = TABLE_SCHEMA, TABLE_NAME = TABLE_NAME, NON_UNIQUE = convert(smallint, 1 - [UNIQUE]), INDEX_QUALIFIER = TABLE_NAME, INDEX_NAME = INDEX_NAME, TYPE case [CLUSTERED] when 1 then 1 else 3 end, ORDINAL_POSITION = ORDINAL_POSITION, COLUMN_NAME = COLUMN_NAME, ASC_OR_DESC case [COLLATION] when 1 then 'A' when 2 then 'D' else null end, CARDINALITY = CARDINALITY, PAGES case [CLUSTERED] when 1 then PAGES else NULL end, FILTER_CONDITION = FILTER_CONDITION from master.dbo.SYSREMOTE_INDEXES < @table_server, @table_catalog, @table_schema, @index_name, NULL, /* TYPE (index type) */ @table_name > where @is_unique is null or @is_unique = [UNIQUE] order by NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME, ORDINAL_POSITION
GO
J'avoue ne pas tout comprendre :)
Via :)
"Laurent Moreau" a écrit dans le message de news:bsriap$qlt$
Regarde le code de la procedure systeme: "sp_helpindex" (sur master)
Laurent.
"Via" wrote in message news: > Merci beaucoup, c'est toujours ça de gagné pour moi :) > > Via :) > > "Yan" a écrit dans le message de > news:07ce01c3ce25$8b0e7c40$ > Bonjour, > > select * from sysindexes where id=object_id('Adresse') > > voilà, mais parfois y a des trucs système, alors faut peut- > être faire le tri. > > > > >-----Message d'origine----- > > Bonjour à tous ! > > > > J'aimerais récupérer les index d'une table, par exemple > la table Adresse, > >dans une requête, est-ce possible et comment ? On me dit > d'aller chercher > >dans la table sysindexes, mais je ne vois pas comment ! > > Merci d'avance, > > > > Via :) > > > > > >. > > > >
Bonjour,
tu parles sans doute plutôt de la procédure sp_indexes dont voici le code
:
create procedure sp_indexes(
@table_server sysname,
@table_name sysname = null,
@table_schema sysname = null,
@table_catalog sysname = null,
@index_name sysname = null,
@is_unique bit = null)
as
select
TABLE_CAT = TABLE_CATALOG,
TABLE_SCHEM = TABLE_SCHEMA,
TABLE_NAME = TABLE_NAME,
NON_UNIQUE = convert(smallint, 1 - [UNIQUE]),
INDEX_QUALIFIER = TABLE_NAME,
INDEX_NAME = INDEX_NAME,
TYPE case [CLUSTERED]
when 1 then 1
else 3
end,
ORDINAL_POSITION = ORDINAL_POSITION,
COLUMN_NAME = COLUMN_NAME,
ASC_OR_DESC case [COLLATION]
when 1 then 'A'
when 2 then 'D'
else null
end,
CARDINALITY = CARDINALITY,
PAGES case [CLUSTERED]
when 1 then PAGES
else NULL
end,
FILTER_CONDITION = FILTER_CONDITION
from master.dbo.SYSREMOTE_INDEXES <
@table_server,
@table_catalog,
@table_schema,
@index_name,
NULL, /* TYPE (index type) */
@table_name >
where @is_unique is null or @is_unique = [UNIQUE]
order by NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME, ORDINAL_POSITION
GO
J'avoue ne pas tout comprendre :)
Via :)
"Laurent Moreau" <l.moreau@SUPPRIMERCECIsystonic.fr> a écrit dans le message
de news:bsriap$qlt$1@s1.read.news.oleane.net...
Regarde le code de la procedure systeme: "sp_helpindex" (sur master)
Laurent.
"Via" <chew.baka@caramail.com> wrote in message
news:uZH0pgizDHA.1688@TK2MSFTNGP10.phx.gbl...
> Merci beaucoup, c'est toujours ça de gagné pour moi :)
>
> Via :)
>
> "Yan" <anonymous@discussions.microsoft.com> a écrit dans le message de
> news:07ce01c3ce25$8b0e7c40$a501280a@phx.gbl...
> Bonjour,
>
> select * from sysindexes where id=object_id('Adresse')
>
> voilà, mais parfois y a des trucs système, alors faut peut-
> être faire le tri.
>
>
>
> >-----Message d'origine-----
> > Bonjour à tous !
> >
> > J'aimerais récupérer les index d'une table, par exemple
> la table Adresse,
> >dans une requête, est-ce possible et comment ? On me dit
> d'aller chercher
> >dans la table sysindexes, mais je ne vois pas comment !
> > Merci d'avance,
> >
> > Via :)
> >
> >
> >.
> >
>
>
tu parles sans doute plutôt de la procédure sp_indexes dont voici le code :
create procedure sp_indexes( @table_server sysname, @table_name sysname = null, @table_schema sysname = null, @table_catalog sysname = null, @index_name sysname = null, @is_unique bit = null) as select TABLE_CAT = TABLE_CATALOG, TABLE_SCHEM = TABLE_SCHEMA, TABLE_NAME = TABLE_NAME, NON_UNIQUE = convert(smallint, 1 - [UNIQUE]), INDEX_QUALIFIER = TABLE_NAME, INDEX_NAME = INDEX_NAME, TYPE case [CLUSTERED] when 1 then 1 else 3 end, ORDINAL_POSITION = ORDINAL_POSITION, COLUMN_NAME = COLUMN_NAME, ASC_OR_DESC case [COLLATION] when 1 then 'A' when 2 then 'D' else null end, CARDINALITY = CARDINALITY, PAGES case [CLUSTERED] when 1 then PAGES else NULL end, FILTER_CONDITION = FILTER_CONDITION from master.dbo.SYSREMOTE_INDEXES < @table_server, @table_catalog, @table_schema, @index_name, NULL, /* TYPE (index type) */ @table_name > where @is_unique is null or @is_unique = [UNIQUE] order by NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME, ORDINAL_POSITION
GO
J'avoue ne pas tout comprendre :)
Via :)
"Laurent Moreau" a écrit dans le message de news:bsriap$qlt$
Regarde le code de la procedure systeme: "sp_helpindex" (sur master)
Laurent.
"Via" wrote in message news: > Merci beaucoup, c'est toujours ça de gagné pour moi :) > > Via :) > > "Yan" a écrit dans le message de > news:07ce01c3ce25$8b0e7c40$ > Bonjour, > > select * from sysindexes where id=object_id('Adresse') > > voilà, mais parfois y a des trucs système, alors faut peut- > être faire le tri. > > > > >-----Message d'origine----- > > Bonjour à tous ! > > > > J'aimerais récupérer les index d'une table, par exemple > la table Adresse, > >dans une requête, est-ce possible et comment ? On me dit > d'aller chercher > >dans la table sysindexes, mais je ne vois pas comment ! > > Merci d'avance, > > > > Via :) > > > > > >. > > > >
Laurent Moreau
Non, je parle bien de la proc: sp_helpindex dont voici l'aide ligne si dessous:
Je te suggere soit de l'utiliser, ou alors de t'inspirer de son code pour écrire ta propre procédure.
Laurent.
sp_helpindex Affiche des informations sur les index d'une table ou d'une vue.
Syntaxe sp_helpindex [ @objname = ] 'name'
Arguments [@objname =] 'name'
Nom d'une table ou d'une vue de la base de données en cours. name est de type nvarchar(776), sans valeur par défaut.
Valeurs des codes renvoyés 0 (succès) ou 1 (échec)
Jeux de résultats Nom de colonne Type de données Description index_name sysname Nom de l'index. index_description varchar(210) Description de l'index. index_keys nvarchar(2078) Colonnes de table ou de vue sur lesquelles est construit l'index.
Le nom d'une colonne indexée décroissante apparaît dans le jeu de résultats, suivi du signe négatif (-) ; la colonne par défaut (colonne indexée croissante) apparaît sous son seul nom.
Notes Si les index ont été définis avec l'option NORECOMPUTE de UPDATE STATISTICS, ces informations sont affichées dans le jeu de résultats de sp_helpindex.
Autorisations Les autorisations d'exécution reviennent par défaut au rôle public.
Exemple Cet exemple vous renseigne sur les types d'index de la table sysobjects.
sp_helpindex sysobjects
"Via" wrote in message news:
Bonjour,
tu parles sans doute plutôt de la procédure sp_indexes dont voici le
code
:
create procedure sp_indexes( @table_server sysname, @table_name sysname = null, @table_schema sysname = null, @table_catalog sysname = null, @index_name sysname = null, @is_unique bit = null) as select TABLE_CAT = TABLE_CATALOG, TABLE_SCHEM = TABLE_SCHEMA, TABLE_NAME = TABLE_NAME, NON_UNIQUE = convert(smallint, 1 - [UNIQUE]), INDEX_QUALIFIER = TABLE_NAME, INDEX_NAME = INDEX_NAME, TYPE > case [CLUSTERED] when 1 then 1 else 3 end, ORDINAL_POSITION = ORDINAL_POSITION, COLUMN_NAME = COLUMN_NAME, ASC_OR_DESC > case [COLLATION] when 1 then 'A' when 2 then 'D' else null end, CARDINALITY = CARDINALITY, PAGES > case [CLUSTERED] when 1 then PAGES else NULL end, FILTER_CONDITION = FILTER_CONDITION from master.dbo.SYSREMOTE_INDEXES < @table_server, @table_catalog, @table_schema, @index_name, NULL, /* TYPE (index type) */ @table_name > where @is_unique is null or @is_unique = [UNIQUE] order by NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME, ORDINAL_POSITION
GO
J'avoue ne pas tout comprendre :)
Via :)
"Laurent Moreau" a écrit dans le
message
de news:bsriap$qlt$ > Regarde le code de la procedure systeme: "sp_helpindex" (sur master) > > > Laurent. > > > > > "Via" wrote in message > news: > > Merci beaucoup, c'est toujours ça de gagné pour moi :) > > > > Via :) > > > > "Yan" a écrit dans le message de > > news:07ce01c3ce25$8b0e7c40$ > > Bonjour, > > > > select * from sysindexes where id=object_id('Adresse') > > > > voilà, mais parfois y a des trucs système, alors faut peut- > > être faire le tri. > > > > > > > > >-----Message d'origine----- > > > Bonjour à tous ! > > > > > > J'aimerais récupérer les index d'une table, par exemple > > la table Adresse, > > >dans une requête, est-ce possible et comment ? On me dit > > d'aller chercher > > >dans la table sysindexes, mais je ne vois pas comment ! > > > Merci d'avance, > > > > > > Via :) > > > > > > > > >. > > > > > > > > >
Non, je parle bien de la proc: sp_helpindex
dont voici l'aide ligne si dessous:
Je te suggere soit de l'utiliser, ou alors de t'inspirer de son code pour
écrire ta propre procédure.
Laurent.
sp_helpindex
Affiche des informations sur les index d'une table ou d'une vue.
Syntaxe
sp_helpindex [ @objname = ] 'name'
Arguments
[@objname =] 'name'
Nom d'une table ou d'une vue de la base de données en cours. name est de
type nvarchar(776), sans valeur par défaut.
Valeurs des codes renvoyés
0 (succès) ou 1 (échec)
Jeux de résultats
Nom de colonne Type de données Description
index_name sysname Nom de l'index.
index_description varchar(210) Description de l'index.
index_keys nvarchar(2078) Colonnes de table ou de vue sur lesquelles
est construit l'index.
Le nom d'une colonne indexée décroissante apparaît dans le jeu de résultats,
suivi du signe négatif (-) ; la colonne par défaut (colonne indexée
croissante) apparaît sous son seul nom.
Notes
Si les index ont été définis avec l'option NORECOMPUTE de UPDATE STATISTICS,
ces informations sont affichées dans le jeu de résultats de sp_helpindex.
Autorisations
Les autorisations d'exécution reviennent par défaut au rôle public.
Exemple
Cet exemple vous renseigne sur les types d'index de la table sysobjects.
sp_helpindex sysobjects
"Via" <chew.baka@caramail.com> wrote in message
news:OiX9vZtzDHA.1680@TK2MSFTNGP12.phx.gbl...
Bonjour,
tu parles sans doute plutôt de la procédure sp_indexes dont voici le
code
:
create procedure sp_indexes(
@table_server sysname,
@table_name sysname = null,
@table_schema sysname = null,
@table_catalog sysname = null,
@index_name sysname = null,
@is_unique bit = null)
as
select
TABLE_CAT = TABLE_CATALOG,
TABLE_SCHEM = TABLE_SCHEMA,
TABLE_NAME = TABLE_NAME,
NON_UNIQUE = convert(smallint, 1 - [UNIQUE]),
INDEX_QUALIFIER = TABLE_NAME,
INDEX_NAME = INDEX_NAME,
TYPE > case [CLUSTERED]
when 1 then 1
else 3
end,
ORDINAL_POSITION = ORDINAL_POSITION,
COLUMN_NAME = COLUMN_NAME,
ASC_OR_DESC > case [COLLATION]
when 1 then 'A'
when 2 then 'D'
else null
end,
CARDINALITY = CARDINALITY,
PAGES > case [CLUSTERED]
when 1 then PAGES
else NULL
end,
FILTER_CONDITION = FILTER_CONDITION
from master.dbo.SYSREMOTE_INDEXES <
@table_server,
@table_catalog,
@table_schema,
@index_name,
NULL, /* TYPE (index type) */
@table_name >
where @is_unique is null or @is_unique = [UNIQUE]
order by NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME, ORDINAL_POSITION
GO
J'avoue ne pas tout comprendre :)
Via :)
"Laurent Moreau" <l.moreau@SUPPRIMERCECIsystonic.fr> a écrit dans le
message
de news:bsriap$qlt$1@s1.read.news.oleane.net...
> Regarde le code de la procedure systeme: "sp_helpindex" (sur master)
>
>
> Laurent.
>
>
>
>
> "Via" <chew.baka@caramail.com> wrote in message
> news:uZH0pgizDHA.1688@TK2MSFTNGP10.phx.gbl...
> > Merci beaucoup, c'est toujours ça de gagné pour moi :)
> >
> > Via :)
> >
> > "Yan" <anonymous@discussions.microsoft.com> a écrit dans le message de
> > news:07ce01c3ce25$8b0e7c40$a501280a@phx.gbl...
> > Bonjour,
> >
> > select * from sysindexes where id=object_id('Adresse')
> >
> > voilà, mais parfois y a des trucs système, alors faut peut-
> > être faire le tri.
> >
> >
> >
> > >-----Message d'origine-----
> > > Bonjour à tous !
> > >
> > > J'aimerais récupérer les index d'une table, par exemple
> > la table Adresse,
> > >dans une requête, est-ce possible et comment ? On me dit
> > d'aller chercher
> > >dans la table sysindexes, mais je ne vois pas comment !
> > > Merci d'avance,
> > >
> > > Via :)
> > >
> > >
> > >.
> > >
> >
> >
>
>
Non, je parle bien de la proc: sp_helpindex dont voici l'aide ligne si dessous:
Je te suggere soit de l'utiliser, ou alors de t'inspirer de son code pour écrire ta propre procédure.
Laurent.
sp_helpindex Affiche des informations sur les index d'une table ou d'une vue.
Syntaxe sp_helpindex [ @objname = ] 'name'
Arguments [@objname =] 'name'
Nom d'une table ou d'une vue de la base de données en cours. name est de type nvarchar(776), sans valeur par défaut.
Valeurs des codes renvoyés 0 (succès) ou 1 (échec)
Jeux de résultats Nom de colonne Type de données Description index_name sysname Nom de l'index. index_description varchar(210) Description de l'index. index_keys nvarchar(2078) Colonnes de table ou de vue sur lesquelles est construit l'index.
Le nom d'une colonne indexée décroissante apparaît dans le jeu de résultats, suivi du signe négatif (-) ; la colonne par défaut (colonne indexée croissante) apparaît sous son seul nom.
Notes Si les index ont été définis avec l'option NORECOMPUTE de UPDATE STATISTICS, ces informations sont affichées dans le jeu de résultats de sp_helpindex.
Autorisations Les autorisations d'exécution reviennent par défaut au rôle public.
Exemple Cet exemple vous renseigne sur les types d'index de la table sysobjects.
sp_helpindex sysobjects
"Via" wrote in message news:
Bonjour,
tu parles sans doute plutôt de la procédure sp_indexes dont voici le
code
:
create procedure sp_indexes( @table_server sysname, @table_name sysname = null, @table_schema sysname = null, @table_catalog sysname = null, @index_name sysname = null, @is_unique bit = null) as select TABLE_CAT = TABLE_CATALOG, TABLE_SCHEM = TABLE_SCHEMA, TABLE_NAME = TABLE_NAME, NON_UNIQUE = convert(smallint, 1 - [UNIQUE]), INDEX_QUALIFIER = TABLE_NAME, INDEX_NAME = INDEX_NAME, TYPE > case [CLUSTERED] when 1 then 1 else 3 end, ORDINAL_POSITION = ORDINAL_POSITION, COLUMN_NAME = COLUMN_NAME, ASC_OR_DESC > case [COLLATION] when 1 then 'A' when 2 then 'D' else null end, CARDINALITY = CARDINALITY, PAGES > case [CLUSTERED] when 1 then PAGES else NULL end, FILTER_CONDITION = FILTER_CONDITION from master.dbo.SYSREMOTE_INDEXES < @table_server, @table_catalog, @table_schema, @index_name, NULL, /* TYPE (index type) */ @table_name > where @is_unique is null or @is_unique = [UNIQUE] order by NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME, ORDINAL_POSITION
GO
J'avoue ne pas tout comprendre :)
Via :)
"Laurent Moreau" a écrit dans le
message
de news:bsriap$qlt$ > Regarde le code de la procedure systeme: "sp_helpindex" (sur master) > > > Laurent. > > > > > "Via" wrote in message > news: > > Merci beaucoup, c'est toujours ça de gagné pour moi :) > > > > Via :) > > > > "Yan" a écrit dans le message de > > news:07ce01c3ce25$8b0e7c40$ > > Bonjour, > > > > select * from sysindexes where id=object_id('Adresse') > > > > voilà, mais parfois y a des trucs système, alors faut peut- > > être faire le tri. > > > > > > > > >-----Message d'origine----- > > > Bonjour à tous ! > > > > > > J'aimerais récupérer les index d'une table, par exemple > > la table Adresse, > > >dans une requête, est-ce possible et comment ? On me dit > > d'aller chercher > > >dans la table sysindexes, mais je ne vois pas comment ! > > > Merci d'avance, > > > > > > Via :) > > > > > > > > >. > > > > > > > > >