Bonjour à tous,
Mon premier post sur ce forum, étant un utilisateur débutant de SQL et de son environnement (SQL adaptative Serveur Anywhere 8 + ISQL)
Je cherche, dans une table, les n premier enregistrements d'une table (stock) pour lesquels la somme d'un des champs vaut 41 (fixe pour le moment), et je veux récupérer des infos dans une autre table (table_OF) en rapport avec les n Enregistrements trouvés.
Le code que j'essaye est :
Lorsque je l'exécute, j'ai le message d'erreur "Erreur sur la ligne 1, Tentative d'opération sur le curseur incorrecte"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 declare @nb int declare @qt int declare @ordre varchar(12) declare curs_mvt cursor for select A, B from stock where produit='AAAAA' and date_s<='20110412' and type='EST' order by date_s desc for read only set @nb = 0 set @qt=0 create table #new_of (numero_of varchar(12)) open curs_mvt while @nb < 41 begin fetch curs_mvt into @qt, @ordre set @nb = @nb+@qt select num_of into #new_of from table_of where num_of=@ordre end close curs_mvt deallocate curs_mvt select * from #new_of
Si j'enlève la dernière ligne, qui n'a rien à voir avec le curseur, je n'ai plus de message d'erreur, mais aucun echo dans la fenêtre "données" de ISQL.
Merci d'avance de votre aide.
Partager