[英]Execute SQL Server stored procedure from python on database directly
我想使用 Python 在数据库上运行现有的 SQL Server 存储过程。 澄清一下,我不想在 Python 中获得输出。 我希望输出直接保存在数据库本身中。
我使用 pymssql 使用以下代码连接到数据库:
storedProc = "Exec TEST;"
cursor.execute( storedProc )
这是我的程序代码:
CREATE PROCEDURE dbo.TEST
as
set nocount on
IF OBJECT_ID('tempdb..#A', 'U')IS not NULL DROP TABLE #A
CREATE TABLE #A
([id] [INT] identity(1,1),
[CustomerName] [VARCHAR](30) NULL,
[OrderCount] [INT] NULL
)
ON [PRIMARY]
Insert into #A ([CustomerName],[OrderCount]) values('Rajjjj',22),('Kusum',3),('Akshita',4),('John',5),('Dan',6)
IF OBJECT_ID('dbo.TEST_A', 'U')IS NULL
CREATE TABLE dbo.TEST_A
(
[CustomerName] [VARCHAR](30) NULL,
[OrderCount] [INT] NULL
);
truncate table dbo.TEST_A
insert into dbo.TEST_A
这段代码运行了程序,但是输出返回给了 Python,这不是我想要的。
然后,发送到数据库的查询必须执行插入操作。 考虑一个名为 [proc_output] 的表与过程的返回具有相同的结构,代码将是:
storedProc = """
insert into proc_output
Exec Procedure_Name;
"""
cursor.execute( storedProc )
正如我在帖子中所描述的,我的代码中缺少conn.commit()
行,如下面的帖子中所述: 链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.