sql >> Databáze >  >> RDS >> Sqlserver

Uložené procedury SQL se při volání z Pythonu nedokončí

Jak OP zjistil, nekonzistentní nebo neúplné zpracování uložených procedur z aplikační vrstvy, jako je Python, může být způsobeno odchylováním se od osvědčených postupů skriptování TSQL.

Jako @AaronBetrand nejdůležitější body v tomto Kontrolní seznam doporučených postupů uložených postupů blog, zvažte mimo jiné následující položky:

  • Explicitně a volně používejte BEGIN ... END bloky;
  • Použijte SET NOCOUNT ON abyste zabránili odesílání zpráv klientovi pro každou akci ovlivněnou řádkem, což by mohlo přerušit pracovní tok;
  • Pro ukončení příkazů použijte středníky.

Příklad

CREATE PROCEDURE dbo.myStoredProc
AS
BEGIN
   SET NOCOUNT ON;

   SELECT * FROM foo;

   SELECT * FROM bar;
END
GO



  1. db2 ekvivalent MySql REPLACE INTO

  2. Automaticky připněte struny na správnou délku na vložce

  3. Chyba syntaxe dotazu Postgres sql z phpPgAdmin

  4. Výkon MySQL – 5 parametrů z konfiguračního souboru