différences entre procédure et fonction et routine?

Dans le contexte de la firebase database MySQL, quelle est la différence entre ces 3 termes:

  • procédure stockée;
  • routine stockée;
  • fonction stockée

PS Les fonctions intégrées telles que les fonctions de date et heure, les weekday() sont considérées comme quoi?

Google est ton ami. La première correspondance pour “mysql routine function procedure” est la suivante: http://dev.mysql.com/doc/refman/5.0/en/stored-routines-syntax.html

Un résumé rapide:

Une routine stockée est une procédure ou une fonction.

Une procédure est appelée à l’aide d’une instruction CALL et ne peut que renvoyer des valeurs à l’aide de variables de sortie.

Une fonction peut être appelée depuis une instruction comme toute autre fonction et peut renvoyer une valeur scalaire.

Ici, j’ai essayé de résumer la différence entre la fonction et les procédures.

  1. Une FONCTION renvoie toujours une valeur à l’aide de l’instruction return. PROCEDURE peut renvoyer une ou plusieurs valeurs via des parameters ou ne pas en renvoyer du tout.
  2. Les fonctions sont normalement utilisées pour les calculs où les procédures sont normalement utilisées pour exécuter une logique métier.
  3. Une fonction renvoie 1 valeur uniquement. La procédure peut renvoyer plusieurs valeurs (max 1024).
  4. La procédure stockée renvoie toujours une valeur entière de zéro par défaut. Tandis que les types de retour de fonction peuvent être des valeurs scalaires, des tables ou des tables.
  5. Les procédures stockées ont un plan d’exécution précompilé, où les fonctions ne le sont pas.
  6. Une fonction peut être appelée directement par une instruction SQL comme select func_name from dual alors que les procédures ne le peuvent pas.
  7. La procédure stockée a la sécurité et réduit le trafic réseau et nous pouvons également appeler la procédure stockée dans n’importe quel no. des applications à la fois.
  8. Une fonction peut être utilisée dans les requêtes SQL, mais une procédure ne peut pas être utilisée dans les requêtes SQL, ce qui entraîne une différence majeure entre les fonctions et les procédures.

Différence entre la fonction MySQL et la procédure mysql

Fonction MYSQL

Il doit retourner la valeur. IN , OUT et INOUT ne peuvent pas être utilisés dans function.But le type de données doit être déclaré lors de la création d’une fonction. fonction peut être appelée à partir d’une instruction SQL. Fonction renvoie une valeur.

Procédure MYSQL

Les valeurs de retour ne sont pas obligatoires mais peuvent utiliser le paramètre OUT pour les retours de procédure. Peut utiliser le IN | OUT | Paramètres INOUT . La procédure ne peut pas être appelée à partir de l’instruction SQL. procédure renvoie plusieurs valeurs en utilisant les parameters OUT ou INOUT .

La fonction doit renvoyer une valeur mais, dans la procédure stockée, elle est facultative (la procédure peut renvoyer des valeurs zéro ou n). Les fonctions ne peuvent avoir que des parameters d’entrée alors que les procédures peuvent avoir des parameters d’entrée / sortie. Les fonctions peuvent être appelées à partir de Procedure alors que les procédures ne peuvent pas être appelées à partir de Function.