Une variable dans une requête INSERT
Bonjour,
Je développe en ASP.NET et je fais une requête INSERT paramétrée avec ADO.NET.
Mais il y a une des valeurs que je souhaite récupérée soit par une sous requête, soit par une variable mais je n'y arrive pas.
Voila à peu près ce que ça donne :
Code:
INSERT INTO maTable ((SELECT MAX(valeur) FROM uneAutreTable), @param1, param2)
ce qui ne fonctionne pas car apparamment seul les fonctions scalaires sont autorisées.
de même si je fais un
Code:
1 2
| SET @valeur = SELECT MAX(valeur) FROM uneAutreTable;
INSERT INTO maTable (@valeur, @param1, param2) |
ça ne marche pas car @valeur est confondu avec mes @param1 et @param2 de ADO.NET au niveau de ma requête paramétrée. Il me dit alors que @valeur n'est pas renseignée (en effet dans mon code asp.net C#, je ne la déclare pas puisqu'elle est dans une variable SQL)
Si quelqu'un a une idée, je suis preneur.
Sinon, dans le pire des cas, j'utiliserai une transaction serializable entre mes lignes de C# pour récupérer dans un premier temps le SELECT MAX, puis dans un deuxieme temps faire mon insert avec ma valeur récupérée (ça me fera deux lots de requêtes au lieu d'un)