J'ai écrit des procédures Oracle stockées dans ceux-ci il y a plus de 20 paramètres d'entrée et d'eux plus de 10 paramètres sont requis, je veux tous avec une certaine valeur et ne veux pas accepter null Y at-il quelque chose que je peux déclarer dans la définition de la procédure elle-même qui peut restreindre le paramètre d'entrée NULL ou Dois-je vérifier chaque valeur et Augmenter l'exception si la valeur requise est NULL?Comment limiter les paramètres d'entrée NULL dans la procédure stockée oracle
Répondre
En PL/SQL, je ne connais pas le moyen de vérifier chacun d'entre eux.
Si vous appelez la procédure stockée à partir d'une bibliothèque externe, cette bibliothèque peut avoir cette fonctionnalité. Cela n'est probablement pas probable car les paramètres d'entrée NULL sont souvent requis.
Vous pouvez créer une procédure PL/SQL d'assistance qui, si elle est associée à une valeur, déclenche une exception si elle doit être nulle pour enregistrer le code redondant. Vous pourriez alors écrire un morceau de perl/python/groovy qui soutiendrait votre déclaration de procédure et lancer ces appels à votre procédure de vérification nulle.
Je sais c'est une vieille question, mais il y a une autre option (décrite here):
SUBTYPE varchar2_not_null IS VARCHAR2 NOT NULL;
Vous pouvez définir ce type (et number_not_null
, etc.) soit dans le même paquet que vos procédures stockées, ou dans leur propre paquet si vous voulez les utiliser dans beaucoup d'endroits. Vous pouvez ensuite déclarer les paramètres d'être ces types.
Si NULL
est transmis comme argument, vous obtiendrez un très utile message d'erreur:
cannot pass NULL to a NOT NULL constrained formal parameter
- 1. paramètres Oracle procédure stockée OUT
- 2. Comment limiter la valeur NULL en tant que paramètre à la procédure stockée SQL Server?
- 3. ASP exécuter la procédure stockée avec Null
- 4. Oracle: nombre variable de paramètres pour une procédure stockée
- 5. Obtenir la procédure stockée resultset from oracle
- 6. paramètres de procédure stockée MySQL
- 7. Lancer la procédure stockée Oracle dans le code Java
- 8. comment créer une procédure stockée dans Oracle qui accepte un tableau de paramètres
- 9. Quelle est la syntaxe d'appel d'une procédure stockée dans Oracle
- 10. Course à pied Oracle procédure stockée
- 11. Exécuter une requête dans une procédure stockée Oracle
- 12. Supprimer dans la procédure stockée
- 13. Procédure stockée de Crystal Reports XI et MySQL avec paramètres
- 14. Procédure stockée spécifique aux données d'appel à partir de la procédure Oracle
- 15. Comment utiliser la procédure stockée dans les jointures internes?
- 16. Passage d'un nombre variable de paramètres à la procédure stockée
- 17. java - transmission d'un tableau dans une procédure stockée oracle
- 18. Oracle Java procédure stockée Interaction de ligne de commande
- 19. « dans » la liste via la procédure stockée
- 20. appel procédure stockée et le passage de paramètres d'une autre procédure stockée
- 21. Utilisation des paramètres de procédure stockée en option
- 22. Comment enregistrer/suivre les appels de procédure stockée Oracle avec des valeurs de paramètre?
- 23. Appel de la procédure stockée
- 24. Comment encapsuler l'appel de procédure stockée
- 25. Comment identifiez-vous par programme les dépendances d'une procédure stockée?
- 26. Comment déterminer les paramètres de procédure stockée SQL Server lors de l'exécution dans .NET?
- 27. Procédure stockée Valeur par défaut
- 28. conserver la valeur d'origine dans DataBase lorsque la valeur NULL est passée à une procédure stockée
- 29. Transactions en boucle dans la procédure stockée
- 30. La "bonne" façon de faire la validation des paramètres de procédure stockée
Ditto, je ne pense pas que son possible –
C'est fou! Je viens de découvrir cela après avoir quitté SQL Server où il est aussi simple de dire "NOT NULL" à côté du nom du paramètre. – Milimetric