J'ai utilisé le code suivant pour appeler une procédure stockée et récupérer sa valeur de retour. Le code crée une procédure stockée temporaire qui prend deux paramètres d'entrée et renvoie leur somme via la valeur de retour. Si votre procédure stockée exécute des requêtes, assurez-vous de traiter tous les résultats disponibles via sqlsrv_next_result avant d'essayer d'accéder à la valeur de retour.
J'espère que cette information peut vous aider ..
code
est ci-dessous:
$conn = sqlsrv_connect('.\SQLExpress', array('Database'=>'Northwind'));
$sql = "CREATE PROCEDURE #ReturnParam (@p1 int, @p2 int) AS
RETURN @p1 + @p2";
$stmt = sqlsrv_query($conn, $sql);
$sql = '{? = CALL #ReturnParam(?, ?)}';
$returnVariable = -1;
$inputVariable1 = 18;
$inputVariable2 = 24;
$params = array(array($returnVariable, SQLSRV_PARAM_OUT),
array($inputVariable1, SQLSRV_PARAM_IN),
array($inputVariable2, SQLSRV_PARAM_IN));
$stmt = sqlsrv_query($conn, $sql, $params);
echo "Return value: ".$returnVariable;
Pouvez-vous donner un exemple où vous appelez une procédure stockée existante? J'utilise osql pour l'exécuter. – chama
Aussi, est-ce PHP? J'utilise Windows Shell, donc je ne suis pas sûr que PHP m'aiderait. – chama
ok, demain je vais fournir quelque chose pour C# –