Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Prosedur Tersimpan SQL tidak selesai saat dipanggil dari Python

Seperti yang diketahui OP, pemrosesan prosedur tersimpan yang tidak konsisten atau tidak lengkap dari lapisan aplikasi seperti Python mungkin disebabkan karena menyimpang dari praktik terbaik skrip TSQL.

Sebagai @AaronBetrand sorotan dalam Daftar Periksa Praktik Terbaik Prosedur Tersimpan blog, pertimbangkan hal berikut di antara item lainnya:

  • Gunakan BEGIN ... END . secara eksplisit dan bebas blok;
  • Gunakan SET NOCOUNT ON untuk menghindari pesan yang dikirim ke klien untuk setiap tindakan yang terpengaruh baris, mungkin mengganggu alur kerja;
  • Gunakan titik koma untuk terminator pernyataan.

Contoh

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. Cara Menonaktifkan Batasan Kunci Asing di SQL Server (Contoh T-SQL)

  2. Bagaimana cara mengatur batas waktu skrip SQL Server dari dalam skrip?

  3. Paksa Oracle untuk mengembalikan baris TOP N dengan SKIP LOCKED

  4. Kelola Konkurensi Transaksi Menggunakan Kunci di SQL Server

  5. Menyimpan data UTF-16/Unicode di SQL Server