Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Các thủ tục được lưu trữ trong SQL không hoàn tất khi được gọi từ Python

Như OP đã phát hiện ra, việc xử lý không nhất quán hoặc không hoàn chỉnh các thủ tục được lưu trữ từ lớp ứng dụng như Python có thể là do không tuân theo các phương pháp hay nhất về kịch bản TSQL.

Như @AaronBetrand điểm nổi bật trong Danh sách kiểm tra Các phương pháp hay nhất về thủ tục được lưu trữ này blog, hãy xem xét những điều sau trong số các mục khác:

  • Sử dụng rõ ràng và tự do BEGIN ... END khối;
  • Sử dụng SET NOCOUNT ON để tránh các thông báo được gửi đến máy khách cho mỗi hành động bị ảnh hưởng hàng, có thể làm gián đoạn quy trình làm việc;
  • Sử dụng dấu chấm phẩy cho các dấu chấm dứt câu lệnh.

Ví dụ

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. TSQL - Một liên kết sử dụng CONTAINS toàn văn

  2. Làm thế nào để chuyển các biến SSIS trong biểu thức ODBC SQLCommand?

  3. SQL lấy giá trị cao nhất và nối

  4. SQL Server sử dụng ký tự đại diện trong IN

  5. Chọn các điểm địa lý trong khu vực