Wie OP herausfand, kann die inkonsistente oder unvollständige Verarbeitung gespeicherter Prozeduren aus der Anwendungsschicht wie Python darauf zurückzuführen sein, dass von den bewährten Methoden der TSQL-Skripterstellung abgewichen wird.
Als @AaronBetrand Highlights in dieser Best Practices-Checkliste für gespeicherte Prozeduren Blog, berücksichtigen Sie unter anderem Folgendes:
- Verwenden Sie ausdrücklich und großzügig
BEGIN ... END
Blöcke; - Verwenden Sie
SET NOCOUNT ON
um zu vermeiden, dass Nachrichten für jede betroffene Zeile an den Client gesendet werden und möglicherweise den Arbeitsablauf unterbrechen; - Verwenden Sie Semikolons für Anweisungsabschlusszeichen.
Beispiel
CREATE PROCEDURE dbo.myStoredProc
AS
BEGIN
SET NOCOUNT ON;
SELECT * FROM foo;
SELECT * FROM bar;
END
GO