Pendant que nous utilisons des fonctions ou des procédures dans PostgreSQL, il nous permet de transmettre des données de l'appel de fonction aux procédures et, en même temps, peut recevoir des données des fonctions. Cette action ou fonctionnalité spécifique ne se fait que par le biais des paramètres. Quant à la discussion des paramètres nommés, nous devons déclarer des fonctions. Nous allons donc voir maintenant comment les fonctions fonctionnent avec PostgreSQL.
Les fonctions
Les fonctions postgresql sont également considérées comme les procédures. Ceux-ci sont utilisés pour effectuer des opérations qui peuvent généralement prendre plusieurs requêtes si, sans utiliser de fonctions, nous voulons effectuer une logique. Mais en créant des fonctions, nous pouvons effectuer n'importe quel scénario dans une seule procédure; Seul un appel de fonction est nécessaire pour démarrer l'opération.
Syntaxe
Créer [ou remplacer] la fonction name_of_function (arguments)Description:
Il existe deux types de paramètres qui sont passés à travers la fonction.
Paramètre nommé
Si nous spécifions les paramètres d'une fonction en utilisant une notation nommée, alors il s'agit d'un paramètre nommé, et une flèche avec la valeur du paramètre le suit.
Paramètres de position
Si nous utilisons directement les valeurs des paramètres de position comme notation de position, les paramètres doivent être répertoriés dans le même ordre dans lequel ils sont déclarés. Alors qu'en cas de notation nommée, il n'est pas obligatoire de spécifier une commande.
Mise en œuvre
Pour élaborer le concept d'un paramètre nommé, nous allons d'abord créer une fonction ou une procédure dans PostgreSQL. Une fonction nommée 'l_u_case' est créée pour fonctionner sur les chaînes qui lui sont envoyées via un appel de fonction. Il convertit les mots en supérieur ou minuscule. En créant la fonction, la caractéristique principale est ses paramètres qui contiennent des variables pour la réception des données. Donc, dans cette fonction, nous avons créé deux variables de type texte pour y stocker des données. Et la troisième variable est un type booléen. Il est bien connu que la valeur de la variable booléenne du drapeau est vraie ou fausse. Ainsi, une variable de majuscules est définie comme fausse par défaut. Cela signifie que si l'utilisateur utilise un appel de fonction sans mentionner le nom du boîtier, supérieur ou inférieur, alors par défaut, le texte est converti en minuscules, s'il est également dans les lettres supérieures.
Créer une fonction l_u_case (un texte, u booléen par défaut false)La commande Select est utilisée ici pour sélectionner le cas en utilisant la troisième variable. Si la troisième variable booléenne pour majuscules est présente, alors concaténez les deux chaînes présents dans les variables «A» et «B». Chaque chaîne est concaténée avec un espace vide entre eux. Dans la deuxième option, si la variable booléenne n'est pas mentionnée, le bas de cas est appliqué avec la même méthode de concaténation. En exécution, le message suivant s'affiche.
Maintenant, nous appliquerons à la fois le paramètre nommé comme une notation nommée et une notation de position.
Notation de position
Dans cet exemple, l'appel de fonction est fait avec les valeurs directement écrites sans utiliser une variable comme argument pour l'appel de fonction. L'appel de fonction est accompli en utilisant une instruction SELECT. Le nom d'une fonction est écrit avec les paramètres.
>> sélectionnez l_u_case ('linux', 'hint', true);Lors de l'exécution, une majuscule des deux chaînes est concaténée; C'est parce que nous avons mentionné la majuscule comme un troisième paramètre.
Alors que si vous supprimez le troisième paramètre, la valeur résultante sera dans les alphabets en bas de la case.
>> sélectionnez l_u_case ('linux', 'hint');Notation nommée
Ici, les valeurs ne sont pas directement affectées aux variables du paramètre, mais les variables que nous utilisons dans les fonctions sont également utilisées dans l'appel de fonction. Ce faisant, toutes les variables seront attribuées les valeurs. Une valeur booléenne «u» est également attribuée avec une vraie valeur.
>> sélectionnez l_u_case (a => 'Linux', b => 'hint', u => true);De plus, l'opérateur qui a émis ici n'est pas un signe égal. Si vous utilisez un signe égal simple ou tout autre signe à la place de cet opérateur, une erreur de syntaxe est formée.
Lors de l'exécution de la commande ci-dessus, vous verrez que la même chaîne s'affiche avec les lettres supérieures. De même, en supprimant la notation nommée pour la maîtrise en maîtrise, les chaînes en minuscules seront affichées par défaut.
Outre la position et la notation nommée, il y a une troisième forme, une notation «mixte» qui contient à la fois la notation nommée et la notation de position. Considérons le même exemple pour cela comme décrit ci-dessus. Nous mentionnerons directement les chaînes du paramètre dans l'appel de fonction, tandis que la variable booléenne «u» se verra attribuer la valeur via un paramètre nommé.
>> SELECT L_U_CASE ('Linux', 'Hint', u => true);Il n'y a pas de changement dans le résultat.
Exemple 2
Voici un autre exemple d'un tableau nommé échantillon; Nous utilisons une instruction «Créer» pour créer une fonction. Deux valeurs seront échangées en utilisant cette fonction. Les deux variables sont introduites dans la fonction. Les valeurs à l'intérieur de ces variables, envoyées par le paramètre de fonction, seront échangées.
Sélectionnez x, y en y, x;Exécuter la commande, et vous verrez que la fonction est créée. Maintenant, nous allons effectuer un appel de fonction simple en utilisant une notation de position. Nous n'utiliserons que les nombres acceptés par les variables déclarées dans la fonction.
>> Sélectionner * parmi l'échantillon (531, 902);En exécution, vous pouvez voir que les valeurs des deux variables sont échangées. Mais cela pourrait se confondre, car quelqu'un peut ne pas connaître la valeur de X et la valeur de Y au moment de l'appel de la fonction. Donc ce problème est résolu par les paramètres de nom. Chaque valeur est attribuée à une variable en tant que paramètre à un moment d'un appel de fonction.
>> sélectionner * dans Swapper (x => 198, y => 457);Lors de l'exécution de l'appel de fonction, les deux valeurs sont attribuées. Et lors de l'exécution, chaque valeur est échangée.
Conclusion
«Postgres nommé procédure» décrit la fonction, son utilisation avec les paramètres, ainsi que les types de paramètres que PostgreSQL permet à l'utilisateur d'utiliser. Il y a deux notations de base de paramètres. Les deux sont expliqués avec des exemples afin que l'utilisateur puisse facilement faire la distinction entre ces deux notations.