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