Comme OP l'a découvert, le traitement incohérent ou incomplet des procédures stockées à partir de la couche d'application comme Python peut être dû à un écart par rapport aux meilleures pratiques de script TSQL.
En tant que @AaronBetrand faits saillants dans cette liste de contrôle des meilleures pratiques des procédures stockées blog, considérez entre autres les éléments suivants :
- Utilisez explicitement et librement
BEGIN ... END
blocs ; - Utilisez
SET NOCOUNT ON
pour éviter que des messages soient envoyés au client pour chaque action de ligne affectée, interrompant éventuellement le flux de travail ; - Utilisez des points-virgules pour les fins de déclaration.
Exemple
CREATE PROCEDURE dbo.myStoredProc
AS
BEGIN
SET NOCOUNT ON;
SELECT * FROM foo;
SELECT * FROM bar;
END
GO