sql >> Database teknologi >  >> RDS >> Sqlserver

MSSQL2008 - Pyodbc - Tidligere SQL var ikke en forespørgsel

Bare hvis en ensom netnomad støder på dette problem, virkede Torxeds løsning ikke for mig. Men følgende virkede for mig.

Jeg ringede til en SP, som indsætter nogle værdier i en tabel og derefter returnerer nogle data tilbage. Du skal blot tilføje følgende til SP :

SET NOCOUNT ON

Det vil fungere fint :)

Python-koden :

    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. Hvordan kan jeg gøre noget som:BRUG @databaseName

  2. Mest effektive T-SQL måde at polstre en varchar til venstre til en vis længde?

  3. Hvordan kører jeg en SQL-fil i PostgreSQL ved hjælp af en Linux-terminal?

  4. MySQL LEFT JOIN?