Zoals OP ontdekte, kan inconsistente of onvolledige verwerking van opgeslagen procedures van applicatielaag zoals Python te wijten zijn aan het afwijken van best practices van TSQL-scripting.
Als @AaronBetrand hoogtepunten in deze Checklist voor beste praktijken voor opgeslagen procedures blog, overweeg dan onder andere het volgende:
- Gebruik expliciet en ruimhartig
BEGIN ... END
blokken; - Gebruik
SET NOCOUNT ON
om te voorkomen dat er berichten naar de klant worden gestuurd voor elke actie met een beïnvloede rij, waardoor de workflow mogelijk wordt onderbroken; - Gebruik puntkomma's voor terminators van uitspraken.
Voorbeeld
CREATE PROCEDURE dbo.myStoredProc
AS
BEGIN
SET NOCOUNT ON;
SELECT * FROM foo;
SELECT * FROM bar;
END
GO