Python 通过pyodbc在MS-SQL中创建存储过程

Python 通过pyodbc在MS-SQL中创建存储过程,python,sql-server,stored-procedures,pyodbc,Python,Sql Server,Stored Procedures,Pyodbc,我试图通过python代码在mssql的master中创建一个存储过程。以下是我的代码: import pyodbc conn = pyodbc.connect("driver={SQL Server};server=localhost; database=master; trusted_connection=true", autocommit=True) cursor = conn.cursor() sqlcommand = """

我试图通过python代码在mssql的master中创建一个存储过程。以下是我的代码:

import pyodbc

conn = pyodbc.connect("driver={SQL Server};server=localhost; database=master; trusted_connection=true",
                      autocommit=True) 
cursor = conn.cursor()
sqlcommand = """
                USE master
                GO
                CREATE PROCEDURE sp_myCustomSystemProc
                AS
                BEGIN
                    PRINT 'myCustomCode'
                END
                GO
                EXEC sp_ms_marksystemobject 'sp_myCustomSystemProc'
             """     
cursor.execute(sqlcommand)

cursor.commit()

conn.commit()
运行此python代码后,我遇到以下错误:

回溯最近一次呼叫上次:

File "auto_complete.py", line 27, in <module>
  cursor.execute(sqlcommand)  
pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]
Incorrect syntax near 'GO'. (102) (SQLExecDirectW); 
[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]
'CREATE/ALTER PROCEDURE' must be the first statement in a query batch. (111); 
[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]
Incorrect syntax near 'GO'. (102); 
[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]
Incorrect syntax near 'sp_myCustomSystemProc'. (102)")

有人能帮我解决这个问题吗?

因为您的连接字符串已经指定了主数据库,即database=master;,简单删除

USE master
GO

来自您的查询。

因为您的连接字符串已经指定了主数据库,即database=master;,简单删除

USE master
GO
根据您的查询