Comment puis-je définir une procédure oracle du paramètre par défaut est le résultat d'un select? J'ai une Procédure oracle et je veux régler le paramètre par défaut pour le résultat d'une instruction select comme ci-dessous. procedure foo( startID number : = max(x.id) from xtable x ) mais le code ci-dessus est illégal de syntaxe. OriginalL'auteur JerryKur | 2011-10-13 oracleprocedurestored-procedures 8 Vous pouvez utiliser une valeur invalide pour le sens, par exemple NULL: PROCEDURE foo (p_id NUMBER DEFAULT NULL) IS l_startID NUMBER := p_id; BEGIN IF p_id IS NULL THEN SELECT max(id) INTO l_startID FROM xtable; END IF; ... END; Si votre fonction/procédure est dans un package, vous pouvez également surcharge: PROCEDURE foo (p_id NUMBER) [...] PROCEDURE foo IS l_startID NUMBER; BEGIN SELECT max(id) INTO l_startID FROM xtable; foo(l_startID); END; Merci. Qui a très bien fonctionné! OriginalL'auteur Vincent Malgrat Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser une valeur invalide pour le sens, par exemple NULL:
Si votre fonction/procédure est dans un package, vous pouvez également surcharge:
OriginalL'auteur Vincent Malgrat