sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Stored Procedures afsluttes ikke, når de kaldes fra Python

Som OP fandt ud af, kan inkonsekvent eller ufuldstændig behandling af lagrede procedurer fra applikationslag som Python skyldes afvigelse fra bedste praksis for TSQL-scripting.

Som @AaronBetrand højdepunkter i denne Checklist for bedste praksis for lagrede procedurer blog, overvej blandt andet følgende:

  • Brug eksplicit og generøst BEGIN ... END blokerer;
  • Brug SET NOCOUNT ON for at undgå meddelelser sendt til klienten for hver række berørt handling, muligvis afbrydelse af arbejdsgangen;
  • Brug semikolon til sætningsafslutninger.

Eksempel

CREATE PROCEDURE dbo.myStoredProc
AS
BEGIN
   SET NOCOUNT ON;

   SELECT * FROM foo;

   SELECT * FROM bar;
END
GO



  1. Den nemmeste måde at konvertere en Blob til en byte-array

  2. Sådan opretter du en offline internationaliseringsapp:Byg projektstrukturen

  3. Oprettelse af Json-fil med C# af mysql-data

  4. MySQL, opret en simpel funktion