Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL съхранените процедури не завършват при извикване от Python

Както OP установи, непоследователната или непълна обработка на съхранени процедури от приложния слой като Python може да се дължи на отклонение от най-добрите практики на TSQL скриптове.

Като @AaronBetrand акценти в този Контролен списък за най-добри практики за съхранени процедури блог, помислете за следното сред другите елементи:

  • Изрично и щедро използвайте BEGIN ... END блокове;
  • Използвайте SET NOCOUNT ON за избягване на съобщения, изпращани до клиента за всяко действие, засегнато от ред, което евентуално прекъсва работния процес;
  • Използвайте точка и запетая за терминатори на изрази.

Пример

CREATE PROCEDURE dbo.myStoredProc
AS
BEGIN
   SET NOCOUNT ON;

   SELECT * FROM foo;

   SELECT * FROM bar;
END
GO



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2016:Подобрения в OLTP в паметта

  2. Регистър на транзакциите на SQL Server — част 2

  3. SQL стандарти за форматиране

  4. MS SQL Server на Linux срещу тест за производителност на Windows, за да забележите разликата

  5. Типове курсори на SQL Server - Какво представляват статичните курсори в SQL Server | Урок за SQL Server / Урок за TSQL