La procédure d'enregistrement concorde_animal dans l'exemple suivant
accepte trois différents paramètres :
-
un paramètre d'entré (IN) qui accepte le nom du premier animal en
entré
-
un paramètre d'entrée-sortie (INOUT) qui accepte le nom du second
animal en entré et retourne une chaîne de caractères TRUE
si un
animal dans la base de données correspond à ce nom
-
un paramètre de sortie (OUT) qui retourne la somme des poids des deux
animaux identifiés
De plus, la procédure d'enregistrement retourne un jeu de résultat
contenant les animaux listés en ordre alphabétique en commençant avec
l'animal correspondant à la valeur d'entrée du premier paramètre et en
terminant avec l'animal correspondant à la valeur d'entrée du deuxième
paramètre.
<?php
$sql = 'CALL concorde_animal(?, ?, ?)';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);
$nom = "Peaches";
$second_nom = "Rickety Ride";
$poids = 0;
db2_bind_param($stmt, 1, "nom", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "second_nom", DB2_PARAM_INOUT);
db2_bind_param($stmt, 3, "poids", DB2_PARAM_OUT);
print "Valeurs des paramètres _avant_ CALL :\n";
print " 1: {$nom} 2: {$second_nom} 3: {$poids}\n\n";
if (db2_execute($stmt)) {
print "Valeurs des paramètres _après_ CALL :\n";
print " 1: {$nom} 2: {$second_nom} 3: {$poids}\n\n";
print "Résultats :\n";
while ($row = db2_fetch_array($stmt)) {
print " {$row[0]}, {$row[1]}, {$row[2]}\n";
}
}
?>
L'exemple ci-dessus va afficher :
Valeurs des paramètres _avant_ CALL :
1: Peaches 2: Rickety Ride 3: 0
Valeurs des paramètres _après_ CALL :
1: Peaches 2: TRUE 3: 22
Résultats :
Peaches, chien, 12.3
Pook, chat, 3.2
Rickety Ride, chèvre, 9.7