Bonjour,

voila je vous expose le probleme.

J'ai une procedure stockee qui créer une table de type temporaire

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
CREATE TABLE tempdb..matable
(
...
)
Cette table est doit perdurer après la fin de la procedure car elle est utilisée ailleurs, donc je n'utilise pas de table de type "#".

Lors du lancement d'une autre procedure (qui utilise le même nom de table), je commence par verifier l'existance de cette table, avec la commande suivante (comme ca si elle existe elle doit etre supprimée) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
IF EXISTS (SELECT 1 FROM tempdb..sysobjects WHERE name = 'matable' AND type = 'U')
BEGIN
    DROP TABLE tempdb..matable
    SELECT @erreur = @@ERROR
    IF @erreur <> 0
    BEGIN
        PRINT 'CRD:KO DROP TABLE tempdb..matable - Erreur SYBASE N° : %1!', @erreur
        RETURN
    END
END
Sauf que lorsque ce code s'execute (dans la seconde procedure) la table n'est pas droppée.

Est ce que cela est du a un probleme connu de Sybase ou alors est ce un probleme de parametrage ou mieux encore est ce un probleme de syntaxe dans ma requete?

Je vous remercie par avance de vos réponses.

Version de Sybase utilisée :
select @@version :
Adaptive Server Enterprise/12.5.1/EBF 11659 ESD#2/P/RS6000/AIX 4.3.3/ase1251/1838/32-bit/FBO/Fri Feb 20 06:56:30 2004