2010-12-01 32 views
1

J'ai déclaré une procédure stockée dans Sybase, et l'un des paramètres est de type datetime. Maintenant, je veux attribuer à cette date une valeur par défaut.Comment définir un paramètre datetime par défaut dans une procédure stockée?

est ici la déclaration:

create procedure Procedure 
(
    @fromDate datetime = getdate() 
) 
... 

Cependant Sybase me donne une erreur

Number (102) Severity (15) State (1) Server (SERVER) Procedure (Procedure) Incorrect syntax near '('. 

Est-il possible de le faire? Si non, y a-t-il une solution de contournement?

Répondre

3

Vous ne pouvez pas utiliser un appel de fonction dans une affectation de variable par défaut (comme vous l'avez découvert).

Définissez la valeur par défaut sur Null et attribuez une affectation à la première place dans la procédure stockée.

create procedure Procedure 
    (
     @fromDate datetime = NULL 
) 
    begin 

     set @fromDate = coalesce(@fromDate , getdate()) 

    end 
+0

J'ai posé cette question il y a des années! Donner un crédit là où le crédit est dû. Merci! –