Précédent   Forum des professionnels en informatique > Bases de données > Sybase > SQL Anywhere
SQL Anywhere Forum d'entraide concernant Sybase SQL Anywhere, la base de données mobile de Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/05/2011, 15h53   #1
Invité de passage
 
Homme Pierre Puy
Responsable de projet fonctionnel
Inscription : mai 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme Pierre Puy
Localisation : France

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : Industrie

Informations forums :
Inscription : mai 2011
Messages : 1
Points : 0
Points : 0
Par défaut Erreur d'utilsiation de CURSEUR dans ISQL

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 :

Code :
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
Lorsque je l'exécute, j'ai le message d'erreur "Erreur sur la ligne 1, Tentative d'opération sur le curseur incorrecte"

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.
PierrePY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 22h38   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
et ça ?

Code :
1
2
3
4
5
6
7
8
9
10
SET rowcount n
 
SELECT  ... 
INTO  #new_of
FROM stock 
WHERE produit='AAAAA' 
AND date_s<='20110412' 
AND type='EST' 
GROUP BY ...
HAVING SUM(...)=41
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql
Administrateur SAP
Mes articles

Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h23.


 
 
 
 
Partenaires

Hébergement Web