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

MSSQL2008 - Pyodbc - SQL trước đây không phải là một truy vấn

Chỉ trong trường hợp một số người du mục net cô đơn gặp phải vấn đề này, giải pháp của Torxed không phù hợp với tôi. Nhưng những điều sau đây đã làm việc cho tôi.

Tôi đang gọi một SP sẽ chèn một số giá trị vào một bảng và sau đó trả về một số dữ liệu. Chỉ cần thêm phần sau vào SP:

SET NOCOUNT ON

Nó sẽ hoạt động tốt :)

Mã Python:

    query = "exec dbo.get_process_id " + str(provider_id) + ", 0"
    cursor.execute(query)

    row = cursor.fetchone()
    process_id = row[0]

SP:

USE [DBNAME]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[GET_PROCESS_ID](
    @PROVIDER_ID INT,
    @PROCESS_ID INT OUTPUT
)
AS
BEGIN
    SET NOCOUNT ON
    INSERT INTO processes(provider_id) values(@PROVIDER_ID)
    SET @PROCESS_ID= SCOPE_IDENTITY()
    SELECT @PROCESS_ID AS PROCESS_ID
END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động truy xuất tên tham số và giá trị hiện tại bên trong thủ tục lưu trữ T-SQL

  2. Khả năng tương thích của Sql server Integration Services 2008-2005

  3. làm thế nào để kiểm tra cấu trúc cột trong ssis?

  4. Cập nhật SQL với row_number ()

  5. Trích xuất các số từ một văn bản trong SQL Server