Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur de syntaxe SQL REBUILD INDEX

6 réponses
Avatar
VINI31
Bonjour,

Je veux reconstruire un index d'une clé étrangère mais j'ai le message
suivant :
Serveur : Msg 156, Niveau 15, État 1, Ligne 1
Syntaxe incorrecte vers le mot clé 'INDEX'.
sur :
ALTER INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
REBUILD WITH (FILLFACTOR = 90); GO
Pourquoi ?

Et la syntaxe suivante, est-ce qu'elle fait la même chose ?
CREATE UNIQUE CLUSTERED
INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
WITH
FILLFACTOR = 90
,DROP_EXISTING
ON [PRIMARY]

Pour finir, la clé étrangère est commune à plusieurs tables, est-ce que la
recréation de l'index d'une des tables a un effet sur l'index des autres
tables liées.

Merci d'avance pour votre réponse.
Cordialement,

6 réponses

Avatar
Fred BROUARD
VINI31 a écrit :
Bonjour,

Je veux reconstruire un index d'une clé étrangère mais j'ai le message
suivant :
Serveur : Msg 156, Niveau 15, État 1, Ligne 1
Syntaxe incorrecte vers le mot clé 'INDEX'.
sur :
ALTER INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
REBUILD WITH (FILLFACTOR = 90); GO
Pourquoi ?



Vous ne devez pas y mettre les colonnes en jeu. La syntaxe correcte est :

ALTER INDEX [PK_CBMARQ_F_COMPTET]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):


Et la syntaxe suivante, est-ce qu'elle fait la même chose ?
CREATE UNIQUE CLUSTERED
INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
WITH
FILLFACTOR = 90
,DROP_EXISTING
ON [PRIMARY]



Oui pour cet exemple


Pour finir, la clé étrangère est commune à plusieurs tables, est-ce que la
recréation de l'index d'une des tables a un effet sur l'index des autres
tables liées.



Absolument pas.


Merci d'avance pour votre réponse.
Cordialement,




A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Vini31
"Fred BROUARD" a écrit dans le message de news:

VINI31 a écrit :
Bonjour,

Je veux reconstruire un index d'une clé étrangère mais j'ai le message
suivant :
Serveur : Msg 156, Niveau 15, État 1, Ligne 1
Syntaxe incorrecte vers le mot clé 'INDEX'.
sur :
ALTER INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
REBUILD WITH (FILLFACTOR = 90); GO
Pourquoi ?



Vous ne devez pas y mettre les colonnes en jeu. La syntaxe correcte est :

ALTER INDEX [PK_CBMARQ_F_COMPTET]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):


Et la syntaxe suivante, est-ce qu'elle fait la même chose ?
CREATE UNIQUE CLUSTERED
INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
WITH
FILLFACTOR = 90
,DROP_EXISTING
ON [PRIMARY]



Oui pour cet exemple


Pour finir, la clé étrangère est commune à plusieurs tables, est-ce que
la recréation de l'index d'une des tables a un effet sur l'index des
autres tables liées.



Absolument pas.


Merci d'avance pour votre réponse.
Cordialement,




A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Merci pour vos réponses.
Par contre j'ai toujours l'erreur de syntaxe sur index.
J'ai même changé d'index et j'ai toujours l'erreur.

ALTER INDEX [PK_CBMARQ_F_COMPTET]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):
ou
ALTER INDEX [ICT_NUM]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):
Je ne comprends pas pourquoi.
Bonnne journée,

Vini31
Avatar
Fred BROUARD
Vini31 a écrit :
"Fred BROUARD" a écrit dans le message de news:

VINI31 a écrit :
Bonjour,

Je veux reconstruire un index d'une clé étrangère mais j'ai le message
suivant :
Serveur : Msg 156, Niveau 15, État 1, Ligne 1
Syntaxe incorrecte vers le mot clé 'INDEX'.
sur :
ALTER INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
REBUILD WITH (FILLFACTOR = 90); GO
Pourquoi ?


Vous ne devez pas y mettre les colonnes en jeu. La syntaxe correcte est :

ALTER INDEX [PK_CBMARQ_F_COMPTET]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):

Et la syntaxe suivante, est-ce qu'elle fait la même chose ?
CREATE UNIQUE CLUSTERED
INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
WITH
FILLFACTOR = 90
,DROP_EXISTING
ON [PRIMARY]


Oui pour cet exemple

Pour finir, la clé étrangère est commune à plusieurs tables, est-ce que
la recréation de l'index d'une des tables a un effet sur l'index des
autres tables liées.


Absolument pas.

Merci d'avance pour votre réponse.
Cordialement,




A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Merci pour vos réponses.
Par contre j'ai toujours l'erreur de syntaxe sur index.
J'ai même changé d'index et j'ai toujours l'erreur.

ALTER INDEX [PK_CBMARQ_F_COMPTET]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):
ou
ALTER INDEX [ICT_NUM]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):
Je ne comprends pas pourquoi.
Bonnne journée,

Vini31




Quel est le message ? Quel est votre version de SQL Server ??

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Vini31
"Fred BROUARD" a écrit dans le message de news:

Vini31 a écrit :
"Fred BROUARD" a écrit dans le message de
news:
VINI31 a écrit :
Bonjour,

Je veux reconstruire un index d'une clé étrangère mais j'ai le message
suivant :
Serveur : Msg 156, Niveau 15, État 1, Ligne 1
Syntaxe incorrecte vers le mot clé 'INDEX'.
sur :
ALTER INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
REBUILD WITH (FILLFACTOR = 90); GO
Pourquoi ?


Vous ne devez pas y mettre les colonnes en jeu. La syntaxe correcte est
:

ALTER INDEX [PK_CBMARQ_F_COMPTET]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):

Et la syntaxe suivante, est-ce qu'elle fait la même chose ?
CREATE UNIQUE CLUSTERED
INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
WITH
FILLFACTOR = 90
,DROP_EXISTING
ON [PRIMARY]


Oui pour cet exemple

Pour finir, la clé étrangère est commune à plusieurs tables, est-ce que
la recréation de l'index d'une des tables a un effet sur l'index des
autres tables liées.


Absolument pas.

Merci d'avance pour votre réponse.
Cordialement,




A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Merci pour vos réponses.
Par contre j'ai toujours l'erreur de syntaxe sur index.
J'ai même changé d'index et j'ai toujours l'erreur.

ALTER INDEX [PK_CBMARQ_F_COMPTET]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):
ou
ALTER INDEX [ICT_NUM]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):
Je ne comprends pas pourquoi.
Bonnne journée,

Vini31


Quel est le message ? Quel est votre version de SQL Server ??

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Quel est le message ? Quel est votre version de SQL Server ??

Le message est :
Serveur : Msg 156, Niveau 15, État 1, Ligne 1
Syntaxe incorrecte vers le mot clé 'INDEX'.

C'est SQL Server 2000 SP 4

A+
Avatar
Fred BROUARD
Vini31 a écrit :
"Fred BROUARD" a écrit dans le message de news:

Vini31 a écrit :
"Fred BROUARD" a écrit dans le message de
news:
VINI31 a écrit :
Bonjour,

Je veux reconstruire un index d'une clé étrangère mais j'ai le message
suivant :
Serveur : Msg 156, Niveau 15, État 1, Ligne 1
Syntaxe incorrecte vers le mot clé 'INDEX'.
sur :
ALTER INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
REBUILD WITH (FILLFACTOR = 90); GO
Pourquoi ?


Vous ne devez pas y mettre les colonnes en jeu. La syntaxe correcte est
:

ALTER INDEX [PK_CBMARQ_F_COMPTET]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):

Et la syntaxe suivante, est-ce qu'elle fait la même chose ?
CREATE UNIQUE CLUSTERED
INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
WITH
FILLFACTOR = 90
,DROP_EXISTING
ON [PRIMARY]


Oui pour cet exemple

Pour finir, la clé étrangère est commune à plusieurs tables, est-ce que
la recréation de l'index d'une des tables a un effet sur l'index des
autres tables liées.


Absolument pas.

Merci d'avance pour votre réponse.
Cordialement,




A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************


Merci pour vos réponses.
Par contre j'ai toujours l'erreur de syntaxe sur index.
J'ai même changé d'index et j'ai toujours l'erreur.

ALTER INDEX [PK_CBMARQ_F_COMPTET]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):
ou
ALTER INDEX [ICT_NUM]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):
Je ne comprends pas pourquoi.
Bonnne journée,

Vini31


Quel est le message ? Quel est votre version de SQL Server ??

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Quel est le message ? Quel est votre version de SQL Server ??

Le message est :
Serveur : Msg 156, Niveau 15, État 1, Ligne 1
Syntaxe incorrecte vers le mot clé 'INDEX'.

C'est SQL Server 2000 SP 4



Normal : ALTER INDEX n'existe pas en version 2000. C'est une commande
nouvelle de la version 2005.

Utilisez donc CREATE INDEX .... WITH ... DROP EXISTING

A +



A+






--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Vini31
"Fred BROUARD" a écrit dans le message de news:

Vini31 a écrit :
"Fred BROUARD" a écrit dans le message de
news:
Vini31 a écrit :
"Fred BROUARD" a écrit dans le message de
news:
VINI31 a écrit :
Bonjour,

Je veux reconstruire un index d'une clé étrangère mais j'ai le
message suivant :
Serveur : Msg 156, Niveau 15, État 1, Ligne 1
Syntaxe incorrecte vers le mot clé 'INDEX'.
sur :
ALTER INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
REBUILD WITH (FILLFACTOR = 90); GO
Pourquoi ?


Vous ne devez pas y mettre les colonnes en jeu. La syntaxe correcte
est :

ALTER INDEX [PK_CBMARQ_F_COMPTET]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):

Et la syntaxe suivante, est-ce qu'elle fait la même chose ?
CREATE UNIQUE CLUSTERED
INDEX [PK_CBMARQ_F_COMPTET] ON [dbo].[F_COMPTET] ([cbMarq])
WITH
FILLFACTOR = 90
,DROP_EXISTING
ON [PRIMARY]


Oui pour cet exemple

Pour finir, la clé étrangère est commune à plusieurs tables, est-ce
que la recréation de l'index d'une des tables a un effet sur l'index
des autres tables liées.


Absolument pas.

Merci d'avance pour votre réponse.
Cordialement,




A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage
SQL
Le site sur le langage SQL et les SGBDR :
http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning,
optimisation
********************* http://www.datasapiens.com
***********************


Merci pour vos réponses.
Par contre j'ai toujours l'erreur de syntaxe sur index.
J'ai même changé d'index et j'ai toujours l'erreur.

ALTER INDEX [PK_CBMARQ_F_COMPTET]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):
ou
ALTER INDEX [ICT_NUM]
ON [dbo].[F_COMPTET]
REBUILD
WITH (FILLFACTOR = 90):
Je ne comprends pas pourquoi.
Bonnne journée,

Vini31


Quel est le message ? Quel est votre version de SQL Server ??

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Quel est le message ? Quel est votre version de SQL Server ??

Le message est :
Serveur : Msg 156, Niveau 15, État 1, Ligne 1
Syntaxe incorrecte vers le mot clé 'INDEX'.

C'est SQL Server 2000 SP 4



Normal : ALTER INDEX n'existe pas en version 2000. C'est une commande
nouvelle de la version 2005.

Utilisez donc CREATE INDEX .... WITH ... DROP EXISTING

A +



A+




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Merci encore pour toutes vos réponses.
Cordialement,

Vini31.