DELETE FROM et l'alias d'une table

Le
EmanuelL
Bonjour à Tous,

Est-ce que la commande SQL DELETE accepte une alias d'une table?
Exemple : DELETE FROM MaTable T1

Car je reçois l'erreur : "Incorrect syntax near 'RC'." avec la requete
ci-dessous (inspirée de l'artcle "Les doublons : détection et
éradication" de SQLPro.

DELETE
FROM [FiducDB1].[dbo].RegionClient RC
WHERE RC.No_Client < ANY (SELECT T2.No_Client
FROM [FiducDB1].[dbo].RegionClient AS T2
WHERE RC.No_Client = T2.No_Client
AND RC.No_Region <> T2.No_Region)

Merci d'avance. :'(


--

*!* --
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sylvain Lafontaine
Le #19328311
Non, à ma connaissance, SQL-Server ne supporte pas les alias pour la
commande Delete. Vous pouvez néanmoins retravailler votre requête pour
utiliser un énoncé EXISTS ou NOT EXISTS ou IN; voir par exemple:
http://www.eggheadcafe.com/software/aspnet/33378591/reworking-a-few-delete-qu.aspx

--
Sylvain Lafontaine, ing.
MVP pour « Windows Live Platform »
Courriel: sylvain2009 sylvainlafontaine com (remplissez les blancs, svp.)
Consultant indépendant et programmation à distance pour Access et
SQL-Server.


"EmanuelL" news:
Bonjour à Tous,

Est-ce que la commande SQL DELETE accepte une alias d'une table?
Exemple : DELETE FROM MaTable T1 ...

Car je reçois l'erreur : "Incorrect syntax near 'RC'." avec la requete
ci-dessous (inspirée de l'artcle "Les doublons : détection et
éradication..." de SQLPro.

DELETE
FROM [FiducDB1].[dbo].RegionClient RC
WHERE RC.No_Client < ANY (SELECT T2.No_Client
FROM [FiducDB1].[dbo].RegionClient AS T2
WHERE RC.No_Client = T2.No_Client
AND RC.No_Region <> T2.No_Region)

Merci d'avance. :'(


--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org




EmanuelL
Le #19328731
Merci Sylvain,
Je regarderai demain au bureau.
A+ ;-)

Sylvain Lafontaine a couché sur son écran :
Non, à ma connaissance, SQL-Server ne supporte pas les alias pour la commande
Delete. Vous pouvez néanmoins retravailler votre requête pour utiliser un
énoncé EXISTS ou NOT EXISTS ou IN; voir par exemple:
http://www.eggheadcafe.com/software/aspnet/33378591/reworking-a-few-delete-qu.aspx

--
Sylvain Lafontaine, ing.
MVP pour « Windows Live Platform »
Courriel: sylvain2009 sylvainlafontaine com (remplissez les blancs, svp.)
Consultant indépendant et programmation à distance pour Access et SQL-Server.


"EmanuelL" news:
Bonjour à Tous,

Est-ce que la commande SQL DELETE accepte une alias d'une table?
Exemple : DELETE FROM MaTable T1 ...

Car je reçois l'erreur : "Incorrect syntax near 'RC'." avec la requete
ci-dessous (inspirée de l'artcle "Les doublons : détection et
éradication..." de SQLPro.

DELETE
FROM [FiducDB1].[dbo].RegionClient RC
WHERE RC.No_Client < ANY (SELECT T2.No_Client
FROM [FiducDB1].[dbo].RegionClient AS T2
WHERE RC.No_Client = T2.No_Client
AND RC.No_Region <> T2.No_Region)

Merci d'avance. :'(


--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org







--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
Med Bouchenafa
Le #19332261
La clause DELETE accepte un alias dans la clause FROM
Mais il y a une astuce....

DELETE table1 FROM table1 alias

Dans le cas cité, il faut réécrire la requeté
DELETE [FiducDB1].[dbo].RegionClient
FROM [FiducDB1].[dbo].RegionClient RC
WHERE RC.No_Client < ......

--
Bien Cordialement
Med Bouchenafa


"EmanuelL" news:
Bonjour à Tous,

Est-ce que la commande SQL DELETE accepte une alias d'une table?
Exemple : DELETE FROM MaTable T1 ...

Car je reçois l'erreur : "Incorrect syntax near 'RC'." avec la requete
ci-dessous (inspirée de l'artcle "Les doublons : détection et
éradication..." de SQLPro.

DELETE
FROM [FiducDB1].[dbo].RegionClient RC
WHERE RC.No_Client < ANY (SELECT T2.No_Client
FROM [FiducDB1].[dbo].RegionClient AS T2
WHERE RC.No_Client = T2.No_Client
AND RC.No_Region <> T2.No_Region)

Merci d'avance. :'(


--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org




EmanuelL
Le #19332421
Merci beaucoup Med.
C'est ce que je cherchais.

A+ ;-)

Il se trouve que Med Bouchenafa a formulé :
La clause DELETE accepte un alias dans la clause FROM
Mais il y a une astuce....

DELETE table1 FROM table1 alias

Dans le cas cité, il faut réécrire la requeté
DELETE [FiducDB1].[dbo].RegionClient
FROM [FiducDB1].[dbo].RegionClient RC
WHERE RC.No_Client < ......

--
Bien Cordialement
Med Bouchenafa


"EmanuelL" news:
Bonjour à Tous,

Est-ce que la commande SQL DELETE accepte une alias d'une table?
Exemple : DELETE FROM MaTable T1 ...

Car je reçois l'erreur : "Incorrect syntax near 'RC'." avec la requete
ci-dessous (inspirée de l'artcle "Les doublons : détection et
éradication..." de SQLPro.

DELETE
FROM [FiducDB1].[dbo].RegionClient RC
WHERE RC.No_Client < ANY (SELECT T2.No_Client
FROM [FiducDB1].[dbo].RegionClient AS T2
WHERE RC.No_Client = T2.No_Client
AND RC.No_Region <> T2.No_Region)

Merci d'avance. :'(


--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org







--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org
WOLO Laurent
Le #19565921
Vous pouvez renommer le 2ième FROM mais pas le premier from.
"EmanuelL" news:
Bonjour à Tous,

Est-ce que la commande SQL DELETE accepte une alias d'une table?
Exemple : DELETE FROM MaTable T1 ...

Car je reçois l'erreur : "Incorrect syntax near 'RC'." avec la requete
ci-dessous (inspirée de l'artcle "Les doublons : détection et
éradication..." de SQLPro.

DELETE
FROM [FiducDB1].[dbo].RegionClient RC
WHERE RC.No_Client < ANY (SELECT T2.No_Client
FROM [FiducDB1].[dbo].RegionClient AS T2
WHERE RC.No_Client = T2.No_Client
AND RC.No_Region <> T2.No_Region)

Merci d'avance. :'(


--

*!* -----------------------------------
EmanuelL
Membre d'AtoutFox
www.atoutfox.org




Publicité
Poster une réponse
Anonyme