Coucou!
C'est encore moi!
Suite à mon épisode des tables proxy (qui n'est toujours pas résolu, soit dit en passant), j'ai un problème de curseur dans un trigger.
Voilà les fautifs :
interactive SQL est assez gentil pour me balancer l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 DECLARE UtilCurs CURSOR FOR CALL PPPUTILL_IDPERI (@id_peri) DECLARE ClientCurs CURSOR FOR CALL PPPCLIENTL_IDPERI (@id_peri_util)
Ces déclarations de curseurs ont lieu dans la création d'un curseur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Impossible d'exécuter l'instruction. Syntax error near 'Call' ...
Le-dit curseur provient de l'une des bases de données ASA que je migre sous ASE.
Il a été écrit en Watcom-SQL, que je convertit à la main en Transact-SQL (rassurez-vous, c'est que les 8 triggers, parceque les 250 procs stockées étaient écrites en T-SQL, même si le T-SQL d'ASA et celui d'ASE sont incompatibles ).
J'ai évidemment essayé de remplacer le CALL par un EXEC, un EXECUTE, un SELECT, avec et sans les parenthèses, mais rien n'y fait.
Alors, si vous connaissez la syntaxe correcte pour déclarer un curseur sur une procédure stockée en T-SQL chez ASE, je vous aime .
Si vous savez comment l'utiliser aussi (mais pour ça, j'ai trouvé la syntaxe (normalement... Evidemment j'ai pas testé vu que la déclaration foire...)).
Merci d'avance!
P.S. : j'ai cherché sur la doc Sybase (), google, et les FAQ et forum Sybase du présent site.
P.S.2 : je suis tombé plusieurs fois, pendant mes recherches google, sur un blog ventant que le transfert d'ASA à ASE était facile ( http://mfinkelsztejn.monblogue.branchez-vous.com/ ). J'ai essayé de commenter l'article, mais je n'ai pas pu a cause d'une vieille foirade serveur. Il met un lien vers fadace.developpez.com/sgbdcmp . Si tu le connais, il serait peutêtre judicieux de lui faire changer son article? D'après l'équipe de chez Sybase qui s'occupe de nous, le transfert ASA => ASE est une première (dont nous sommes les heureux gagnants ), donc ça n'a jamais été testé, donc dire que c'est facile est un argument... Commercial...
Partager