update nom_table set (col1, col2, col3) = (choisir col1, col2, col3 de l'ordre tableName2 par tablenmae2.col4) Erreur retour manquant). La requête fonctionne correctement si je supprime la commande par la clauseErreur dans la requête
Répondre
Donc, vous obtenez l'erreur "Missing" car l'analyseur s'attend à ce que la sous-requête se termine au point où vous avez ORDER BY.
Oui, je sais que la clause order by n'est pas utilisée dans une requête de mise à jour, mais ici, j'utilise la clause ordrt by dans la requête select. –
Qu'est-ce que ORDER BY a l'intention de faire?
Ce que vous avez sans doute à l'esprit est quelque chose comme:
UPDATE TableName
SET (Col1, Col2, Col3) = (SELECT T2.Col1, T2.Col2, T2.Col3
FROM TableName2 AS T2
WHERE TableName.Col4 = T2.Col4
)
WHERE EXISTS(SELECT * FROM TableName2 AS T2 WHERE TableName.Col4 = T2.Col4);
Cette opération maladroite recherche:
- Grabs lignes de TableName2 qui correspondent à TableName sur la valeur Col4 et met à jour TableName avec les valeurs des colonnes correspondantes.
- Garantit que seules les lignes de TableName avec une ligne correspondante dans TableName2 sont modifiées; Si vous supprimez la clause WHERE à partir de UPDATE, vous remplacez les valeurs dans Col1, Col2 et Col3 par des valeurs null s'il existe des lignes dans TableName sans une entrée correspondante dans TableName2.
Certains SGBD prennent également en charge une notation de jointure de mise à jour pour réduire la gravité de cette notation. ORDER BY n'est pas autorisé dans une sous-requête dans un UPDATE.
- 1. Erreur dans la requête SQL UPDATE
- 2. Erreur 3075 dans requête Sélection
- 3. erreur de requête MySQL
- 4. Erreur de requête MySQL
- 5. Erreur dans la requête avec le type de données XML
- 6. requête SQL LIKE défaut - erreur fatale dans la déclaration préparée
- 7. Obtention d'une erreur dans cette requête
- 8. Erreur de notification de requête
- 9. mysqli-> erreur: est-ce seulement pour la dernière requête, ou pour la dernière erreur du groupe de requête?
- 10. Problème dans la requête MySQLi
- 11. Mysql :: Erreur: La sous-requête renvoie plus de 1 ligne:
- 12. Erreur "Overlarge sharp nombre variable" sur la requête ajax
- 13. requête mysql, réutilisation columnNames dans la requête
- 14. Erreur de table de requête SQL VBA
- 15. sélectionnez une requête dans la requête de mise à jour?
- 16. La sous-requête dans la requête SQLite ne fonctionne pas
- 17. citations Kohana dans la requête
- 18. Problème dans la requête oracle
- 19. sortie de la requête dans un fichier donne erreur d'accès refusé
- 20. "La requête a expiré." erreur lors de la définition de debug = "false"
- 21. La conversion d'une requête dans Oracle fusion mysql mySQL requête
- 22. Renvoi aux résultats d'une sous-requête dans la requête principale
- 23. Erreur d'affectation dans LINQ
- 24. requête d'insertion SQLite donnant erreur après 246 dossiers
- 25. requête Mysql: récupérer la date actuelle requête
- 26. SQL Server 2005: Erreur de processeur de requête interne:
- 27. Une autre - requête HTTP est une erreur non autorisée
- 28. Erreur de requête d'accès - Types de données Null & Variant - Comment corriger cette erreur?
- 29. Aucun doublon dans la requête SQL
- 30. SHA salt dans la requête MySQL
Quelle est l'erreur? – blparker