Comment utiliser des procédures stockées SQL

Les procédures stockées se trouvent dans la base de données sur le serveur plutôt que d'exécuter sur le client - où se trouvent toutes les procédures avant que SQL / PSM. Après avoir défini une procédure stockée, vous pouvez invoquer avec un APPEL déclaration. Garder la procédure sur le serveur plutôt que sur le client réduit le trafic réseau, accélérant ainsi la performance. Le seul trafic qui doit passer entre le client et le serveur est le APPEL déclaration.

Vous pouvez créer cette procédure de la manière suivante:

EXEC sqlCreate PROCÉDURE ChessMatchScore (Inscore CHAR (3), entraîner OUT CHAR (10)) BEGIN résultat THENSET ATOMICCASE scoreWHEN '1-0' = -Quand 'whitewins' '0-1' THENSET résultat Résultat -ELSESET = 'blackwins de =' Draw '-END CASEEND -

Après avoir créé une procédure stockée comme celui de cet exemple, vous pouvez appeler avec un APPEL déclaration semblable à la déclaration suivante:

APPEL ChessMatchScore ('1-0',: Résultat) -



Le premier argumentis un paramètre d'entrée qui est introduite dans le ChessMatchScore procédure. Le deuxième argument est une variable intégrée qui accepte la valeur attribuée au paramètre de sortie que le ChessMatchScore procédure utilise pour retourner le résultat de la routine d'appel. Dans ce cas, il renvoie «victoires blancs».

SQL: 2011 a ajouté un couple d'améliorations aux procédures stockées. Le premier d'entre eux est l'introduction d'arguments nommés.

Voici l'équivalent de l'appel précédent, avec des arguments nommés:

APPEL ChessMatchScore (résultat =>: Résultat, score => '1-0') -

Parce que les arguments sont nommés, ils peuvent être écrits dans n'importe quel ordre sans un danger d'entre eux étant confondue.

La seconde amélioration ajouté dans SQL: 2011 est l'ajout d'arguments d'entrée par défaut. Vous pouvez spécifier un argument par défaut pour le paramètre d'entrée. Après vous faites cela, vous ne devez spécifier une valeur d'entrée dans le APPEL Instruction- la valeur par défaut est supposé. (Bien sûr, vous voulez le faire que si la valeur par défaut était en fait la valeur que vous voulez envoyer à la procédure.)

Voici un exemple de cette utilisation:

EXEC sqlCreate PROCÉDURE ChessMatchScore (Inscore CHAR (3) DEFAULT '1-0', le résultat OUT CHAR (10)) BEGIN ATOMICCASE scoreWHEN '1-0' THENSET entraîne la -Quand = 'whitewins de' 0-1 'THENSET résultat blackwins' = «résultat -ELSESET =« dessiner »-END CASEEND -

Vous pouvez maintenant appeler cette procédure thusly avec la valeur par défaut:

APPEL ChessMatchScore (: Résultat) -

Bien sûr, vous ne voulez faire cela si la valeur par défaut est en fait la valeur que vous voulez envoyer à la procédure.


» » » » Comment utiliser des procédures stockées SQL