Vincent Robidet wrote :
>
>MaxDB 7.6.0.12
>SqlStudio 7.6.0.12
>
>Hello,
>
>I can't explain why the function Remplacefonctions68 returns 
>'youpi' and 
>the function remplacefonctions69 returns nothing.
>Could someone help me ?
>
>Thanks in advance
>
>Best regards
>
>Vincent Robidet
>
>
>
>CREATE FUNCTION REMPLACEFONCTIONS69(FORMULE VARCHAR) RETURNS VARCHAR AS
>    VAR
>    FA  VARCHAR(255);
>    DEF  VARCHAR(255);
>    FORM  VARCHAR(255);
>    ROWID CHAR(8) BYTE;
>    
>    
> TRY   
>   CREATE TABLE TEMP.COPIEFONCTION(DEFINITION VARCHAR(255), FORMULE 
>VARCHAR(255));    
> CATCH
> SET FA = 'youpi';
>
> 
>TRY
>
>  /*Liste des fonctions dans la table formule*/
>  INSERT TEMP.COPIEFONCTION SELECT DEFINITION, FORMULE FROM 
>DBA.FORMULE;
>
>
>WHILE $RC = 0 DO
>BEGIN
>
>   TRY
>      SELECT SYSKEY, DEFINITION, FORMULE
>       INTO :ROWID, :DEF, :FORM FROM TEMP.COPIEFONCTION WHERE 
>ROWNO <= 1;
>
>      DELETE FROM TEMP.COPIEFONCTION WHERE SYSKEY = :ROWID;
>   CATCH
>     IF $RC <> 0 THEN STOP ($RC, 'Unexpected error');
> 
>END;
>
>
>CATCH
> IF $RC <> 0 THEN STOP ($RC, 'Unexpected error');
>/* DROP TABLE TEMP.COPIEFONCTION; */
> RETURN FA;
>
>
>
>
>
>CREATE FUNCTION REMPLACEFONCTIONS68(FORMULE VARCHAR) RETURNS VARCHAR AS
>    VAR
>    FA  VARCHAR(255);
>    DEF  VARCHAR(255);
>    FORM  VARCHAR(255);
>    ROWID CHAR(8) BYTE;
>    
>    
> TRY   
>   CREATE TABLE TEMP.COPIEFONCTION(DEFINITION VARCHAR(255), FORMULE 
>VARCHAR(255));    
> CATCH
> SET FA = 'youpi';
>
> 
>TRY
>
>  /*Liste des fonctions dans la table formule*/
>  INSERT TEMP.COPIEFONCTION SELECT DEFINITION, FORMULE FROM 
>DBA.FORMULE;
>
>CATCH
> IF $RC <> 0 THEN STOP ($RC, 'Unexpected error');
> RETURN FA;
>/* DROP TABLE TEMP.COPIEFONCTION; */
>
>
>
>
>
>-- 
>MaxDB Discussion Mailing List
>For list archives: http://lists.mysql.com/maxdb
>To unsubscribe:    
>http://lists.mysql.com/maxdb?>[EMAIL PROTECTED]
>
>

Both functions will return 'youpi' only if the table TEMP.COPIEFONCTION
exists when the function is called.
Otherwise FA is null. Is it possible that the table didn't exist when
Remplacefonctions69 was called but
exists when Remplacefonctions68 was called ?

Best Regards,
Thomas

--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to