|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
在SQLserver创建了一个存储过程,想通过pyodbc来调用这个存储过程,得到存储过程的@output值。求教执行存储过程的代码怎么写呢?连接数据库是实现了的,但执行存储过程的语句始终报错。
自己写的有错的语句:cs_output = cursor.execute("EXEC [dbo].[导入-报表定制-收入日监控-CHN三后收入日监控](?, %d)", (output_param)).fetchval()
USE [分析通报临存]
GO
/****** Object: StoredProcedure [dbo].[导入-报表定制-收入日监控-CHN三后收入日监控] Script Date: 2024/12/22 7:39:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[导入-报表定制-收入日监控-CHN三后收入日监控] @output INT OUTPUT
AS
IF EXISTS (select * from [分析通报临存].INFORMATION_SCHEMA.TABLES WHERE table_name ='报表定制-收入日监控-CHN三后收入日监控-导入临存')
DROP TABLE [分析通报临存].dbo.[报表定制-收入日监控-CHN三后收入日监控-导入临存]
CREATE TABLE [分析通报临存].[dbo].[报表定制-收入日监控-CHN三后收入日监控-导入临存] (
[数据日期] date NULL ,
[分公司] nvarchar(255) COLLATE Chinese_PRC_CS_AS_KS_WS NULL ,
[区域] nvarchar(255) COLLATE Chinese_PRC_CS_AS_KS_WS NULL ,
[分局] nvarchar(255) COLLATE Chinese_PRC_CS_AS_KS_WS NULL ,
[网格] nvarchar(255) COLLATE Chinese_PRC_CS_AS_KS_WS NULL ,
[指标] nvarchar(255) COLLATE Chinese_PRC_CS_AS_KS_WS NULL ,
[数值] numeric(28,8) NULL )
BULK INSERT [分析通报临存].[dbo].[报表定制-收入日监控-CHN三后收入日监控-导入临存]
FROM 'D:\\档案资料\临时文件\\解压命名\\CHN三后日收入监控.txt'
WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n', FIRSTROW=2)
INSERT INTO [分析通报临存].dbo.[报表定制-收入日监控-CHN三后收入日监控]
SELECT [源表].[数据日期],[源表].[分公司],[源表].[区域],[源表].[分局],[源表].[网格],[源表].[指标],[源表].[数值]
FROM [分析通报临存].[dbo].[报表定制-收入日监控-CHN三后收入日监控-导入临存] AS [源表]
LEFT OUTER JOIN (SELECT DISTINCT [存档1].[数据日期], [存档1].[指标]
FROM [分析通报临存].dbo.[报表定制-收入日监控-CHN三后收入日监控] AS [存档1]) AS [存档]
ON [源表].[数据日期] = [存档].[数据日期] AND [源表].[指标] = [存档].[指标]
WHERE [源表].[数据日期] IS NOT NULL AND [存档].[数据日期] IS NULL AND [源表].[指标] IS NOT NULL AND [存档].[指标] IS NULL
SET @output = @@ROWCOUNT
|
|