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

DELETE FROM et l'alias d'une table

5 réponses
Avatar
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

5 réponses

Avatar
Sylvain Lafontaine
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" wrote in message
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




Avatar
EmanuelL
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" wrote in message
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
Avatar
Med Bouchenafa
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" wrote in message
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




Avatar
EmanuelL
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" wrote in message
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
Avatar
WOLO Laurent
Vous pouvez renommer le 2ième FROM mais pas le premier from.
"EmanuelL" a écrit dans le message de
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